Skip to content

Commit b613e65

Browse files
[skip ci] commit 4c4b3d7
2 parents ccc7267 + 4c4b3d7 commit b613e65

3 files changed

Lines changed: 38 additions & 2 deletions

File tree

dd-java-agent/build.gradle

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,16 @@ configurations {
1919
def includedAgentDir = project.layout.buildDirectory.dir("generated/included")
2020
def includedJarFileTree = fileTree(includedAgentDir)
2121

22+
def pomPropertiesDir = project.layout.buildDirectory.dir("generated/maven-metadata")
23+
def pomPropertiesFileTree = fileTree(pomPropertiesDir)
24+
2225
tasks.named("processResources") {
2326
dependsOn(includedJarFileTree)
27+
dependsOn(pomPropertiesFileTree)
28+
}
29+
30+
tasks.named("sourcesJar") {
31+
dependsOn(pomPropertiesFileTree)
2432
}
2533

2634
sourceSets {
@@ -33,7 +41,7 @@ sourceSets {
3341
"main_java11" {
3442
java.srcDirs "${project.projectDir}/src/main/java11"
3543
}
36-
main.resources.srcDir(includedAgentDir)
44+
main.resources.srcDirs(includedAgentDir, pomPropertiesDir)
3745
}
3846

3947
def java6CompileTask = tasks.named("compileMain_java6Java") {
@@ -324,6 +332,14 @@ def generateAgentJarIndex = tasks.register('generateAgentJarIndex', JavaExec) {
324332
}
325333
sourceSets.main.resources.srcDir(generateAgentJarIndex)
326334

335+
def generatePomProperties = tasks.register('generatePomProperties', WriteProperties) {
336+
destinationFile = pomPropertiesDir.map { it.file("META-INF/maven/com.datadoghq/dd-java-agent/pom.properties") }
337+
property("groupId", "com.datadoghq")
338+
property("artifactId", "dd-java-agent")
339+
property("version", project.providers.provider { project.version.toString() })
340+
}
341+
pomPropertiesFileTree.builtBy(generatePomProperties)
342+
327343
subprojects { Project subProj ->
328344
// Don't need javadoc task run for internal projects.
329345
subProj.tasks.withType(Javadoc).configureEach { enabled = false }

dd-smoke-tests/src/main/groovy/datadog/smoketest/AbstractServerSmokeTest.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ abstract class AbstractServerSmokeTest extends AbstractSmokeTest {
183183

184184
and: 'received tracer dependencies'
185185
// Not exhaustive list of tracer dependencies.
186-
Set<String> missingDependencyNames = ['com.github.jnr:jnr-ffi', 'net.bytebuddy:byte-buddy-agent',].toSet()
186+
Set<String> missingDependencyNames = ['com.datadoghq:dd-java-agent', 'com.github.jnr:jnr-ffi', 'net.bytebuddy:byte-buddy-agent',].toSet()
187187
missingDependencyNames.removeAll(dependencyNames) || true
188188
missingDependencyNames.isEmpty()
189189

telemetry/src/test/groovy/datadog/telemetry/dependency/DependencyResolverSpecification.groovy

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,26 @@ class DependencyResolverSpecification extends DepSpecification {
9595
)
9696
}
9797

98+
void 'jar with dd-java-agent pom.properties resolves to com.datadoghq:dd-java-agent'() {
99+
given: 'a jar containing META-INF/maven/com.datadoghq/dd-java-agent/pom.properties'
100+
File file = new File(testDir, 'dd-java-agent.jar')
101+
new ZipOutputStream(new FileOutputStream(file)).with {
102+
putNextEntry(new ZipEntry('META-INF/maven/com.datadoghq/dd-java-agent/pom.properties'))
103+
write('groupId=com.datadoghq\nartifactId=dd-java-agent\nversion=1.0.0\n'.getBytes('UTF-8'))
104+
closeEntry()
105+
close()
106+
}
107+
108+
when:
109+
List<Dependency> deps = DependencyResolver.resolve(file.toURI())
110+
111+
then:
112+
deps.size() == 1
113+
deps[0].name == 'com.datadoghq:dd-java-agent'
114+
deps[0].version == '1.0.0'
115+
deps[0].hash == null
116+
}
117+
98118
void 'jar without manifest and no version in filename gets resolved'() {
99119
// If no manifest info and no suitable file name - calculate sha1 hash
100120
knownJarCheck(

0 commit comments

Comments
 (0)