Skip to content

Commit 1cdca11

Browse files
authored
Fix agent JAR lookup (#4633)
1 parent d5ff4e5 commit 1cdca11

File tree

1 file changed

+30
-4
lines changed

1 file changed

+30
-4
lines changed

test/system-test-runner.py

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -209,19 +209,45 @@ def stop_sentry_mock_server(self) -> None:
209209
os.remove(self.mock_server_pid_file)
210210
self.mock_server_pid = None
211211

212+
def read_version_from_gradle_properties(self) -> Optional[str]:
213+
"""Read the versionName from gradle.properties."""
214+
try:
215+
with open("gradle.properties", "r") as f:
216+
for line in f:
217+
line = line.strip()
218+
if line.startswith("versionName="):
219+
return line.split("=", 1)[1]
220+
except (IOError, IndexError) as e:
221+
print(f"Error reading version from gradle.properties: {e}")
222+
return None
223+
212224
def find_agent_jar(self) -> Optional[str]:
213-
"""Find the OpenTelemetry agent JAR file."""
225+
"""Find the OpenTelemetry agent JAR file with the specific version from gradle.properties."""
214226
agent_dir = Path("sentry-opentelemetry/sentry-opentelemetry-agent/build/libs/")
215227
if not agent_dir.exists():
216228
return None
217229

218-
for jar_file in agent_dir.glob("*.jar"):
230+
# Get the version from gradle.properties
231+
version = self.read_version_from_gradle_properties()
232+
if not version:
233+
print("Error: Could not read version from gradle.properties")
234+
return None
235+
236+
# Look for the specific versioned JAR
237+
versioned_jar_pattern = f"*agent*{version}*.jar"
238+
for jar_file in agent_dir.glob(versioned_jar_pattern):
219239
name = jar_file.name
220-
if ("agent" in name and
221-
"javadoc" not in name and
240+
if ("javadoc" not in name and
222241
"sources" not in name and
223242
"dontuse" not in name):
243+
print(f"Found versioned agent JAR: {jar_file}")
224244
return str(jar_file)
245+
246+
# If versioned JAR not found, print helpful message
247+
print(f"Error: Could not find agent JAR with version {version} in {agent_dir}")
248+
print("Available JAR files:")
249+
for jar_file in agent_dir.glob("*.jar"):
250+
print(f" {jar_file.name}")
225251
return None
226252

227253
def build_agent_jar(self) -> int:

0 commit comments

Comments
 (0)