Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
283 commits
Select commit Hold shift + click to select a range
49e0bda
Merge pull request #530 from cqse/renovate/junitplatform
DreierF Sep 2, 2024
9780556
Update junit to v5.11.0
renovate[bot] Sep 2, 2024
452b0a4
Update dependency org.apache.maven:maven-core to v3.9.9
renovate[bot] Sep 2, 2024
ac481d6
Added logging
DreierF Sep 2, 2024
f98bbf4
Merge pull request #528 from cqse/renovate/junit
DreierF Sep 2, 2024
8c1851b
Update dependency org.springframework.boot:spring-boot-loader to v3.3.3
renovate[bot] Sep 2, 2024
afc834c
Update plugin pluginPublish to v1.2.2
renovate[bot] Sep 2, 2024
2f427ba
Merge pull request #526 from cqse/renovate/junitvintageversion
DreierF Sep 2, 2024
ed9ac72
Update dependency org.slf4j:slf4j-api to v2.0.16
renovate[bot] Sep 2, 2024
097fb87
Merge pull request #533 from cqse/renovate/org.apache.maven-maven-cor…
DreierF Sep 2, 2024
a9bc0ef
Update dependency org.apache.maven:maven-plugin-api to v3.9.9
renovate[bot] Sep 2, 2024
be1fc37
Merge pull request #536 from cqse/renovate/com.gradle.plugin-publish-1.x
DreierF Sep 2, 2024
609e184
Merge pull request #534 from cqse/renovate/org.apache.maven-maven-plu…
DreierF Sep 2, 2024
36a20e6
Merge pull request #535 from cqse/renovate/org.springframework.boot-s…
DreierF Sep 2, 2024
8078ceb
Update dependency org.apache.commons:commons-lang3 to v3.17.0
renovate[bot] Sep 2, 2024
80458ad
Update dependency org.apache.maven.plugin-tools:maven-plugin-annotati…
renovate[bot] Sep 2, 2024
ab4e9c5
Merge pull request #538 from cqse/renovate/org.apache.maven.plugin-to…
DreierF Sep 2, 2024
dcfc59b
Merge pull request #537 from cqse/renovate/org.apache.commons-commons…
DreierF Sep 2, 2024
1a4da8b
Update dependency org.apache.maven.plugins:maven-javadoc-plugin to v3…
renovate[bot] Sep 2, 2024
e1510af
Update dependency org.apache.maven.plugins:maven-plugin-plugin to v3.…
renovate[bot] Sep 2, 2024
95f316d
Adjust Test to reverted log4j behavior
DreierF Sep 2, 2024
a0f1680
Switch from io.github.goooler.shadow to the new official com.gradleup…
DreierF Sep 2, 2024
4adde05
Merge pull request #539 from cqse/renovate/org.apache.maven.plugins-m…
DreierF Sep 2, 2024
855ffea
Merge pull request #523 from cqse/renovate/org.slf4j-slf4j-api-2.x
DreierF Sep 2, 2024
fff179e
Update dependency org.apache.maven.plugins:maven-surefire-plugin to v…
renovate[bot] Sep 2, 2024
66e5f72
Update jersey to v2.45
renovate[bot] Sep 2, 2024
26baf99
Merge pull request #540 from cqse/renovate/org.apache.maven.plugins-m…
DreierF Sep 2, 2024
985de1c
Merge pull request #542 from cqse/renovate/jersey
DreierF Sep 2, 2024
b7ab017
Merge pull request #541 from cqse/renovate/org.apache.maven.plugins-m…
DreierF Sep 2, 2024
07089ad
TS-40158 Add missing agent-jar plugin
Sep 3, 2024
cec536a
Merge pull request #543 from cqse/TS-40158/fix-SampleApp-run-config
DreierF Sep 3, 2024
bc9772a
Update jetty to v9.4.56.v20240826
renovate[bot] Sep 3, 2024
7726af7
Merge pull request #545 from cqse/renovate/jetty
DreierF Sep 4, 2024
5b74f3e
Update dependency org.eclipse.jgit:org.eclipse.jgit to v7
renovate[bot] Sep 11, 2024
a1cafc8
Deflicker testNoMultipleUploadsToSameProjectAndRevision
DreierF Sep 11, 2024
d70d45d
Merge pull request #549 from cqse/renovate/org.eclipse.jgit-org.eclip…
DreierF Sep 11, 2024
fde1daf
Update dependency com.gradleup.shadow:shadow-gradle-plugin to v8.3.1
renovate[bot] Sep 10, 2024
21a93ed
Use correct import
DreierF Sep 10, 2024
b2a7727
Update dependency org.apache.logging.log4j:log4j-core to v2.24.0
renovate[bot] Sep 11, 2024
0a7d17e
Merge pull request #548 from cqse/renovate/com.gradleup.shadow-shadow…
DreierF Sep 11, 2024
39db489
Merge pull request #546 from cqse/renovate/org.apache.logging.log4j-l…
DreierF Sep 11, 2024
594482e
Update plugin pluginPublish to v1.3.0
renovate[bot] Sep 11, 2024
93b7395
Merge pull request #550 from cqse/renovate/com.gradle.plugin-publish-1.x
DreierF Sep 11, 2024
fcebe97
Update dependency com.squareup.okio:okio to v3.9.1
renovate[bot] Sep 12, 2024
6428e01
Merge pull request #551 from cqse/renovate/com.squareup.okio-okio-3.x
DreierF Sep 13, 2024
4df55d4
Update dependency org.apache.maven.plugins:maven-gpg-plugin to v3.2.6
renovate[bot] Sep 14, 2024
50208a6
Merge pull request #552 from cqse/renovate/org.apache.maven.plugins-m…
DreierF Sep 14, 2024
beb98e8
Update dependency net.java.dev.jna:jna-platform to v5.15.0
renovate[bot] Sep 15, 2024
1d1f458
Merge pull request #553 from cqse/renovate/net.java.dev.jna-jna-platf…
DreierF Sep 15, 2024
ef09ca8
Update dependency commons-io:commons-io to v2.17.0
renovate[bot] Sep 19, 2024
5b469b2
Merge pull request #555 from cqse/renovate/commons-io-commons-io-2.x
DreierF Sep 19, 2024
16af504
Update dependency com.gradleup.shadow:shadow-gradle-plugin to v8.3.2
renovate[bot] Sep 19, 2024
1aa8166
Merge pull request #554 from cqse/renovate/com.gradleup.shadow-shadow…
DreierF Sep 19, 2024
c5872a5
Update dependency org.springframework.boot:spring-boot-loader to v3.3.4
renovate[bot] Sep 19, 2024
70cc08b
Merge pull request #556 from cqse/renovate/org.springframework.boot-s…
DreierF Sep 19, 2024
7ad3bb1
TS-40412 add TeamscaleProxyOptions
Sep 23, 2024
ee3a9c0
TS-40412 put TeamscaleProxyOptions into system properties and use them.
Sep 23, 2024
6a97fa7
TS-40412 add null-checks for TeamscaleProxyOptions
Sep 23, 2024
0530182
TS-40412 add another null-check for TeamscaleProxyOptions
Sep 23, 2024
03a7afd
TS-39915 Refactoring: Concatenate parts instead of alternating unifor…
brand-cqse Sep 23, 2024
a9f9b16
TS-40412 ad interface comment and fix typo
Sep 23, 2024
30c0caa
Merge branch 'master' into ts/39915_maven_plugin_cucumberpickedescrip…
AnonymFx Sep 23, 2024
3490dd5
Merge pull request #522 from cqse/ts/39915_maven_plugin_cucumberpicke…
AnonymFx Sep 23, 2024
8379019
Release 34.0.2
brand-cqse Sep 23, 2024
3a6d332
Update dependency gradle to v8.10.2
renovate[bot] Sep 23, 2024
5e705ff
Merge pull request #560 from cqse/renovate/gradle-8.x
DreierF Sep 24, 2024
0b7708c
TS-40412 add tests whether the teamscale-specific system properties a…
Sep 24, 2024
827d3e8
TS-40412 fix findings
Sep 24, 2024
3f0d500
TS-40412 constant
Sep 24, 2024
df7f2a3
TS-40425 Fixe NPE in Maven plugin
DreierF Sep 23, 2024
61d44c4
TS-40425 Fixed commit being ignored in end commit resolution
DreierF Sep 24, 2024
db3289a
TS-40425 Fixed Gradle deprecation warnings
DreierF Sep 24, 2024
b1448b0
TS-40425 Always prefer revision over commit if explicitly given
DreierF Sep 24, 2024
64855a2
TS-40412 Test for TeamscaleProxyOptions
Sep 24, 2024
4b52e32
TS-40412 small fix and typo
Sep 24, 2024
2ae6720
TS-40412 adjust changelog and documentation
Sep 24, 2024
d1b2c4f
Update dependency org.junit.jupiter:junit-jupiter-engine to v5.11.1
renovate[bot] Sep 25, 2024
ce8ce12
Update dependency org.junit.vintage:junit-vintage-engine to v5.11.1
renovate[bot] Sep 25, 2024
be61995
Merge pull request #561 from cqse/renovate/org.junit.jupiter-junit-ju…
DreierF Sep 25, 2024
e692b13
Update junit to v5.11.1
renovate[bot] Sep 25, 2024
b86a6be
Update junitJupiterVersion to v5.11.1
renovate[bot] Sep 25, 2024
d115c63
Merge pull request #562 from cqse/renovate/junitvintageversion
DreierF Sep 25, 2024
99b5b56
Merge pull request #564 from cqse/renovate/junitjupiterversion
DreierF Sep 25, 2024
cbe5f5a
Merge pull request #563 from cqse/renovate/junit
DreierF Sep 25, 2024
c957443
Update junitPlatform to v1.11.1
renovate[bot] Sep 25, 2024
3d7ff28
Merge pull request #565 from cqse/renovate/junitplatform
DreierF Sep 25, 2024
5e3fa47
TS-40425 Rework
DreierF Sep 26, 2024
307eaa0
TS-40412 rework
Sep 26, 2024
e3d9b8a
TS-40412 adjust Tests
Sep 26, 2024
7f453fd
TS-40412 another test for TeamscaleProxyOptions
Sep 26, 2024
174e258
TS-40412 adjust Readme to rework
Sep 26, 2024
81c68dd
TS-40412 Typo
Sep 26, 2024
ace1d9a
Merge branch 'refs/heads/master' into ts/40412_add_agent_specific_pro…
Sep 26, 2024
f64009b
Merge pull request #557 from cqse/ts/40425_maven_npe
jveihelmann Sep 26, 2024
3cdc102
Update plugin org.jetbrains.kotlin.jvm to v2
renovate[bot] Sep 26, 2024
0736e12
Merge pull request #566 from cqse/renovate/org.jetbrains.kotlin.jvm-2.x
DreierF Sep 26, 2024
cc3cf26
Update jackson to v2.18.0
renovate[bot] Sep 27, 2024
f300a3f
Merge pull request #567 from cqse/renovate/jackson
DreierF Sep 27, 2024
390109a
TS-40412 use delayedLogger in TeamscaleProxyOptions
Sep 27, 2024
20c242d
TS-40412 remove logger from ProxySystemProperties
Sep 27, 2024
39cc7dc
TS-40412 throw IncorrectPortFormatException
Sep 27, 2024
427301b
Merge branch 'refs/heads/master' into ts/40412_add_agent_specific_pro…
Sep 27, 2024
69f5a57
Update dependency org.apache.maven.plugins:maven-gpg-plugin to v3.2.7
renovate[bot] Sep 27, 2024
909f8d5
Merge pull request #568 from cqse/renovate/org.apache.maven.plugins-m…
DreierF Sep 27, 2024
4f513d6
Update dependency org.apache.logging.log4j:log4j-core to v2.24.1
renovate[bot] Sep 29, 2024
0756cab
Merge pull request #569 from cqse/renovate/org.apache.logging.log4j-l…
DreierF Sep 29, 2024
e47d8cc
TS-40412 Rework
Sep 30, 2024
e648189
TS-40412 Rework
Sep 30, 2024
67994c5
TS-40412 Rework
Sep 30, 2024
c6e1899
TS-40412 Rework
Sep 30, 2024
27c52a3
Update dependency org.apache.maven.plugins:maven-javadoc-plugin to v3…
renovate[bot] Oct 1, 2024
0a27bff
Merge pull request #570 from cqse/renovate/org.apache.maven.plugins-m…
DreierF Oct 1, 2024
3e60f81
TS-40412 Rework
Oct 1, 2024
fa07137
TS-40412 Rework
Oct 1, 2024
3f33034
Merge pull request #558 from cqse/ts/40412_add_agent_specific_proxy_s…
jveihelmann Oct 2, 2024
2ab02fe
Update dependency com.gradleup.shadow:shadow-gradle-plugin to v8.3.3
renovate[bot] Oct 2, 2024
0618d09
Merge pull request #571 from cqse/renovate/com.gradleup.shadow-shadow…
DreierF Oct 2, 2024
84ff036
Changes for release version 34.1.0
Oct 2, 2024
9405bf2
Update dependency org.junit.jupiter:junit-jupiter-engine to v5.11.2
renovate[bot] Oct 4, 2024
8ac3980
Update dependency org.junit.vintage:junit-vintage-engine to v5.11.2
renovate[bot] Oct 4, 2024
cc6c319
Update junitJupiterVersion to v5.11.2
renovate[bot] Oct 4, 2024
c613a34
Update junitPlatform to v1.11.2
renovate[bot] Oct 4, 2024
f44ad33
Merge pull request #572 from cqse/renovate/org.junit.jupiter-junit-ju…
DreierF Oct 5, 2024
74747fd
Merge pull request #573 from cqse/renovate/junitvintageversion
DreierF Oct 5, 2024
e2f7187
Merge pull request #575 from cqse/renovate/junitjupiterversion
DreierF Oct 5, 2024
b467b05
Merge pull request #576 from cqse/renovate/junitplatform
DreierF Oct 5, 2024
50bd357
Update junit to v5.11.2
renovate[bot] Oct 5, 2024
398b3bd
Merge pull request #574 from cqse/renovate/junit
DreierF Oct 5, 2024
e97ee46
Update dependency org.apache.maven.plugins:maven-surefire-plugin to v…
renovate[bot] Oct 6, 2024
fcf4b58
Update dependency org.ow2.asm:asm to v9.7.1
renovate[bot] Oct 6, 2024
ebf0703
Merge pull request #577 from cqse/renovate/org.apache.maven.plugins-m…
DreierF Oct 6, 2024
9ff7573
Merge pull request #578 from cqse/renovate/org.ow2.asm-asm-9.x
DreierF Oct 6, 2024
e54686c
Update dependency org.ow2.asm:asm-commons to v9.7.1
renovate[bot] Oct 6, 2024
e7ec2c2
Merge pull request #579 from cqse/renovate/org.ow2.asm-asm-commons-9.x
DreierF Oct 6, 2024
afb6099
TS-40621 load config from Teamscale after everything else, including …
Oct 10, 2024
188db0a
TS-40621 clean up
Oct 10, 2024
9cafd1e
TS-40621 fix tests
Oct 10, 2024
8c7ee91
TS-40621 adapt CHANGELOG.md
Oct 10, 2024
e38b6e5
TS-40621 clean-up
Oct 10, 2024
48e3d5b
Update plugin org.jetbrains.kotlin.jvm to v2.0.21
renovate[bot] Oct 10, 2024
c9365d5
Merge pull request #581 from cqse/renovate/org.jetbrains.kotlin.jvm-2.x
DreierF Oct 10, 2024
3d89736
Update dependency maven-wrapper to v3.3.2
renovate[bot] Oct 14, 2024
ae74fd8
Merge pull request #582 from cqse/renovate/maven-wrapper-3.x
DreierF Oct 14, 2024
b8d5f43
TS-40621 rework
Oct 14, 2024
2ef217e
Merge pull request #580 from cqse/ts/40621_jacoco_agent_proxy_setting…
Raphael-N Oct 14, 2024
2a9a54b
Changes for release version 34.1.1
Raphael-N Oct 14, 2024
9911c7b
TS-31571 Uncommited changes and rework
stahlbauer Oct 16, 2024
23a8362
TS-31571 Findings fixed
stahlbauer Oct 16, 2024
98662a4
TS-31571 Wait for flush on termination
stahlbauer Oct 16, 2024
218ef77
TS-31571 Ensure logging of shutdown errors
stahlbauer Oct 16, 2024
c7b1f3e
TS-31571 Enhanced backwards compatibility
stahlbauer Oct 17, 2024
fa4b88d
TS-31571 Keep logs to flush is Teamscale is not yet available.
stahlbauer Oct 17, 2024
55f347c
TS-31571 Some rework
stahlbauer Oct 17, 2024
e61b2e1
TS-31571 Rework: Also send stack traces
stahlbauer Oct 21, 2024
ee68f41
TS-31571 Ensure to send the stack trace, too
stahlbauer Oct 21, 2024
cd9cd30
Update dependency org.junit.jupiter:junit-jupiter-engine to v5.11.3
renovate[bot] Oct 21, 2024
66be7a9
Update dependency org.junit.vintage:junit-vintage-engine to v5.11.3
renovate[bot] Oct 21, 2024
f3f0422
Merge pull request #583 from cqse/renovate/org.junit.jupiter-junit-ju…
DreierF Oct 21, 2024
d857b55
Merge pull request #584 from cqse/renovate/junitvintageversion
DreierF Oct 21, 2024
4c1d083
Update junit to v5.11.3
renovate[bot] Oct 21, 2024
1311c55
Update junitJupiterVersion to v5.11.3
renovate[bot] Oct 21, 2024
0c5ce76
Merge pull request #586 from cqse/renovate/junitjupiterversion
DreierF Oct 21, 2024
a224226
Merge pull request #585 from cqse/renovate/junit
DreierF Oct 21, 2024
db9f4af
Update junitPlatform to v1.11.3
renovate[bot] Oct 21, 2024
bf26b4a
Merge pull request #587 from cqse/renovate/junitplatform
DreierF Oct 22, 2024
adc7e6c
Update dependency org.springframework.boot:spring-boot-loader to v3.3.5
renovate[bot] Oct 24, 2024
b9326dc
Merge pull request #588 from cqse/renovate/org.springframework.boot-s…
DreierF Oct 24, 2024
e3bccf9
Update dependency org.apache.maven.plugin-tools:maven-plugin-annotati…
renovate[bot] Oct 25, 2024
8aa087b
Merge pull request #589 from cqse/renovate/org.apache.maven.plugin-to…
DreierF Oct 25, 2024
e77642c
Update dependency org.apache.maven.plugins:maven-plugin-plugin to v3.…
renovate[bot] Oct 25, 2024
ab5d9a5
Merge pull request #590 from cqse/renovate/org.apache.maven.plugins-m…
DreierF Oct 25, 2024
8490997
Update jackson to v2.18.1
renovate[bot] Oct 29, 2024
3f32260
Update dependency com.gradleup.shadow:shadow-gradle-plugin to v8.3.4
renovate[bot] Oct 29, 2024
8ed47cb
Merge pull request #592 from cqse/renovate/jackson
DreierF Oct 29, 2024
6959cbd
Merge pull request #593 from cqse/renovate/com.gradleup.shadow-shadow…
DreierF Oct 29, 2024
411c923
TS-38628 Agent generator raw migration
Avanatiker Oct 30, 2024
5577acb
TS-38628 Add missing logging error function
Avanatiker Oct 31, 2024
5004ab3
TS-38628 Extension function to enable default implementation for logger
Avanatiker Oct 31, 2024
557d1ab
TS-38628 Restrict null types
Avanatiker Oct 31, 2024
9f9d5c1
TS-38628 Use method signature overloading
Avanatiker Oct 31, 2024
60cb239
TS-38628 Refactor jacoco package implementation
Avanatiker Oct 31, 2024
55de0ee
TS-38628 Massive refactor, removed SortedIntList, kotlin tests
Avanatiker Oct 31, 2024
07469f0
TS-38628 Lazy initialization and ideomatizations
Avanatiker Oct 31, 2024
08353f0
TS-38628 Heavy refactor, using data classes for Jackson
Avanatiker Oct 31, 2024
c12c403
TS-38628 Last missing refactors for report-generator
Avanatiker Oct 31, 2024
2efa0cc
Update dependency org.apache.maven.plugins:maven-surefire-plugin to v…
renovate[bot] Nov 2, 2024
a81f478
Update dependency org.apache.maven.plugins:maven-javadoc-plugin to v3…
renovate[bot] Nov 2, 2024
48258f9
Update dependency com.gradleup.shadow:shadow-gradle-plugin to v8.3.5
renovate[bot] Nov 3, 2024
5af2067
Merge pull request #597 from cqse/renovate/org.apache.maven.plugins-m…
DreierF Nov 3, 2024
145ceb6
Merge pull request #598 from cqse/renovate/com.gradleup.shadow-shadow…
DreierF Nov 3, 2024
2569e9d
Merge pull request #596 from cqse/renovate/org.apache.maven.plugins-m…
DreierF Nov 3, 2024
5115f10
TS-40875 Fix recursive detection of JAR files in artifactory
DreierF Nov 4, 2024
6f4e412
Merge pull request #599 from cqse/ts/40875_artifactory_jar
wilhelma Nov 4, 2024
1e8f713
Publish 34.2.0
DreierF Nov 4, 2024
a995c4a
TS-31571 Rework
stahlbauer Nov 4, 2024
9d98f3c
TS-31571 Rework
stahlbauer Nov 4, 2024
1a36e4c
TS-31571 Test fixed
stahlbauer Nov 5, 2024
6eec763
TS-31571 NPEs fixed
stahlbauer Nov 5, 2024
0465e2d
TS-31571 Made test less flaky
stahlbauer Nov 5, 2024
eed5d12
TS-31571 Rework: Keep the exception type when re-throwing
stahlbauer Nov 6, 2024
7f0541f
Merge remote-tracking branch 'origin/master' into ts/31571_send_log_t…
stahlbauer Nov 6, 2024
de32a51
TS-31571 Some findings fixed
stahlbauer Nov 6, 2024
fc7cc66
TS-31571 Some comments addressed
stahlbauer Nov 6, 2024
9e2f712
Update dependency gradle to v8.11
renovate[bot] Nov 11, 2024
637cc02
Merge pull request #600 from cqse/renovate/gradle-8.x
DreierF Nov 11, 2024
38b816a
TS-41001 Fix warning about multiple agents being used
DreierF Nov 19, 2024
ab93d7b
Update dependency commons-io:commons-io to v2.18.0
renovate[bot] Nov 19, 2024
17e8d34
Merge pull request #602 from cqse/renovate/commons-io-commons-io-2.x
DreierF Nov 20, 2024
f1f579d
Update dependency gradle to v8.11.1
renovate[bot] Nov 20, 2024
c6235e4
Merge pull request #603 from cqse/renovate/gradle-8.x
DreierF Nov 21, 2024
fe5d2f2
Update dependency org.springframework.boot:spring-boot-loader to v3.3.6
renovate[bot] Nov 21, 2024
38a6a98
Merge pull request #604 from cqse/renovate/org.springframework.boot-s…
DreierF Nov 21, 2024
92af16c
TS-38628 Rework
Avanatiker Nov 21, 2024
83b5e83
Update dependency org.springframework.boot:spring-boot-loader to v3.4.0
renovate[bot] Nov 21, 2024
ced6770
Merge pull request #605 from cqse/renovate/org.springframework.boot-s…
DreierF Nov 21, 2024
f52d2f7
Update dependency org.apache.logging.log4j:log4j-core to v2.24.2
renovate[bot] Nov 21, 2024
c7e7710
Merge pull request #606 from cqse/renovate/org.apache.logging.log4j-l…
DreierF Nov 22, 2024
1cabd5d
TS-31571 Message on logging to Teamscale if really enabled.
stahlbauer Nov 22, 2024
a5b04db
Merge pull request #601 from cqse/ts/41001_multiple_agents_warn
stahlbauer Nov 22, 2024
cec19f2
Merge pull request #595 from cqse/ts/38628_iterative_kotlin_migration
DreierF Nov 22, 2024
aeff27d
TS-38628 Partially raw translation
Avanatiker Nov 5, 2024
61cb789
TS-38628 Fix method signatures
Avanatiker Nov 12, 2024
b3dcf96
Update plugin org.beryx.jlink to v3.1.1
renovate[bot] Nov 22, 2024
b38b70b
Merge pull request #607 from cqse/renovate/org.beryx.jlink-3.x
DreierF Nov 22, 2024
6266b79
TS-38628 Resolve cucumber test issue and various refactorings
Avanatiker Nov 26, 2024
b0b95dd
TS-38628 Refactor
Avanatiker Nov 26, 2024
a5cff10
TS-38628 Improved space complexity of levenshtein distance
Avanatiker Nov 26, 2024
3e0bb4c
TS-38628 Use string builder DSL
Avanatiker Nov 26, 2024
f55fbcc
TS-38628 Formatting
Avanatiker Nov 26, 2024
3ce14a3
TS-38628 Bring back function
Avanatiker Nov 26, 2024
95996e8
Merge remote-tracking branch 'origin/master' into ts/31571_send_log_t…
stahlbauer Nov 26, 2024
97f8d15
TS-31571 Typing issue fixed (after merge)
stahlbauer Nov 26, 2024
c05bfab
Update plugin org.jetbrains.kotlin.jvm to v2.1.0
renovate[bot] Nov 27, 2024
e8fcb75
Update dependency com.fasterxml.jackson.core:jackson-annotations to v…
renovate[bot] Nov 28, 2024
ecc83b3
TS-38628 Resolve findings, clean up long function
Avanatiker Nov 28, 2024
f8a4c03
TS-38628 Tia Runlistener migration
Avanatiker Nov 27, 2024
6346133
TS-38628 Tia Client migration
Avanatiker Nov 27, 2024
16e31d2
TS-38628 Tia Client doc cleanup
Avanatiker Nov 27, 2024
a770a9b
TS-38628 Revert serializer API
Avanatiker Nov 28, 2024
30f65b8
Merge pull request #610 from cqse/renovate/jackson
DreierF Nov 29, 2024
34cf4f0
Updated com.xpdustry.kotlin-shadow-relocator plugin
DreierF Nov 29, 2024
6ecd6f2
Merge pull request #609 from cqse/renovate/org.jetbrains.kotlin.jvm-2.x
DreierF Nov 29, 2024
e632be8
Merge pull request #608 from cqse/ts/38628_iterative_kotlin_migration…
DreierF Nov 29, 2024
67c7909
TS-31571 Kotlin merge conflicts solved
stahlbauer Dec 2, 2024
dac4f21
TS-31571 Kotlin merge conflicts solved
stahlbauer Dec 2, 2024
f8759ad
TS-31571 Kotlin merge conflicts solved
stahlbauer Dec 2, 2024
bb6be4b
Merge pull request #518 from cqse/ts/31571_send_log_to_teamscale_via_…
stahlbauer Dec 2, 2024
a88d5d5
Update plugin org.gradle.toolchains.foojay-resolver-convention to v0.9.0
renovate[bot] Dec 2, 2024
23a2877
Merge pull request #613 from cqse/renovate/org.gradle.toolchains.fooj…
DreierF Dec 2, 2024
93d8a29
Merge pull request #612 from cqse/ts/38628_iterative_kotlin_migration…
DreierF Dec 2, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,26 @@ We use [semantic versioning](http://semver.org/):
- PATCH version when you make backwards compatible bug fixes.

# Next version
- [fix] _agent_: Warning about multiple agents being present is misleading

# 34.2.0
- [fix] _agent_: `search-git-properties-recursively` was not considered when jar was given via `artifactory-git-properties-jar`
- [deprecation] _agent_: `artifactory-git-properties-jar` is deprecated now. Replace the option with `git-properties-jar`. The old option still works but is an alias now for `git-properties-jar`.
- [feature] _agent_: Added `git-properties-commit-date-format` (replaces `artifactory-git-properties-commit-date-format`), which now also can be used in non-artifactory cases.
- [fix] _agent_: `search-git-properties-recursively` did only consider nested jar files, but no `war`, `ear`, `aar`

# 34.1.1
- [fix] _agent_: Loading a profiler configuration from Teamscale was not possible if the potentially necessary proxy settings were not set yet.

# 34.1.0
- [feature] _agent_: New options `proxy-http(s)-host`/`-port`/`-user`/`-password` allow user to specify teamscale-specific proxy settings.
- [fix] _teamscale-maven-plugin_: NPE when no commit, nor revision was configured
- [fix] _teamscale-maven-plugin_: Fixed commit was ignored in commit resolution

# 34.0.2
- [feature] _agent_: Prevent uploading coverage to the same project + revision or branch@timestamp when doing multi project upload via git.properties
- [fix] _impacted-test-engine_: Remove duplicated slashes in uniform paths and cluster ids for Cucumber Tests
- [fix] _impacted-test-engine_: Ensure that the config file specified via `java.util.logging.config.file` is used when specified

# 34.0.1
- [fix] _agent_: Error was reported when the system under test used logback
Expand Down
21 changes: 16 additions & 5 deletions agent/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ The following options are available:
`logging` folder, e.g. to enable debug logging or log directly to the console. (For details see path format section
below)
- `proxy-password-file` (optional): path to a file that contains the password for a proxy server authentication. This file may only contain the password and nothing else.
- `proxy-` (optional): For other options regarding teamscale-specific proxy settings see [Teamscale-Specific-Proxy Section](#teamscale-specific-proxy-settings).
- `mode` (optional): which coverage collection mode to use. Can be either `normal` or `testwise` (Default is `normal`)
- `debug` (optional): `true`, `false` or a path to which the logs should be written to. `true` if no explicit value given.
This option turns on debug mode. The logs will be written to console and the given file path. If no file path is given,
Expand All @@ -87,6 +88,20 @@ Note that defining `-Djava.io.tmpdir` will change the temp directory that is bei
If there is no log file at that location, it means the agent didn't even start and you have not configured it correctly.
Check your applications console output for error messages.

#### Teamscale-Specific Proxy Settings
It is possible to specify teamscale-specific proxy settings that take prevalence over the system properties of the JVM.
If no or not all teamscale-specific proxy settings are provided the agent will fall back to the system properties of the
JVM.

It is also possible to specify these options by prefixing the JVM flags for proxies with `teamscale.`,
for example `-Dteamscale.https.proxyHost`.

The following options are available both for `https` and `http`:
- `proxy-https-host`/`proxy-http-host`: The host name of the proxy server.
- `proxy-https-port`/`proxy-http-port`: The port of the proxy server.
- `proxy-https-user`/`proxy-http-user`: The username for the proxy server.
- `proxy-https-password`/`proxy-http-password`: The password for the proxy user.

#### Testwise coverage

If you want to collect testwise coverage, please have a look below in the [Testwise mode section](#testwise-coverage-modes).
Expand Down Expand Up @@ -161,6 +176,7 @@ patterns with `*`, `**` and `?`.
- the properties `git.branch` and `git.commit.time` (in the format `yyyy-MM-dd'T'HH:mm:ssZ` or `yyyy-MM-dd'T'HH:mm:ssXXX`) or
- the properties `teamscale.commit.branch` and `teamscale.commit.time` (either as an epoch timestamp or in one of the two formats above)
- `search-git-properties-recursively` Specifies whether to search for git.properties files recursively in folders or archive (jar, war, ear, aar) files. Default: true.
- `git-properties-commit-date-format` The Java data pattern `git.commit.time` is encoded with in `git.properties`. Defaults to `yyyy-MM-dd'T'HH:mm:ssZ`.
- `teamscale-message` (optional): the commit message shown within Teamscale for the coverage upload (Default is "Agent
coverage upload").
- `config-file` (optional): a file which contains one or more of the previously named options as `key=value` entries
Expand Down Expand Up @@ -217,11 +233,6 @@ patterns with `*`, `**` and `?`.
This can be used to encode e.g. a partition name that is parsed later on via Teamscale Artifactory connector options.
- `artifactory-path-suffix` (optional): The path within the storage location between
the default path and the uploaded artifact.
- `artifactory-git-properties-jar` (optional): Specify a Jar to search a `git.properties` file within.
If not specified, Git commit information is extracted from the first found `git.properties` file.
See `git-properties-jar` for details.
- `artifactory-git-properties-commit-date-format` (optional):
The Java data pattern `git.commit.time` is encoded with in `git.properties`. Defaults to `yyyy-MM-dd'T'HH:mm:ssZ`.

### The new standard upload schema
```
Expand Down
3 changes: 2 additions & 1 deletion agent/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -107,9 +107,10 @@ tasks.shadowDistZip {
}

tasks.processResources {
inputs.property("version", project.version)
filesMatching("**/app.properties") {
filter {
it.replace("%APP_VERSION_TOKEN_REPLACED_DURING_BUILD%", appVersion)
it.replace("%APP_VERSION_TOKEN_REPLACED_DURING_BUILD%", version.toString())
}
}
}
36 changes: 12 additions & 24 deletions agent/src/main/java/com/teamscale/jacoco/agent/AgentBase.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
package com.teamscale.jacoco.agent;

import com.teamscale.client.ProxySystemProperties;
import com.teamscale.jacoco.agent.options.AgentOptions;
import com.teamscale.jacoco.agent.logging.LoggingUtils;
import org.conqat.lib.commons.filesystem.FileSystemUtils;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.servlet.ServletContextHandler;
Expand All @@ -14,9 +12,7 @@
import org.jacoco.agent.rt.RT;
import org.slf4j.Logger;

import java.io.IOException;
import java.lang.management.ManagementFactory;
import java.nio.file.Path;

/**
* Base class for agent implementations. Handles logger shutdown, store creation and instantiation of the
Expand All @@ -40,7 +36,7 @@ public abstract class AgentBase {
/** Constructor. */
public AgentBase(AgentOptions options) throws IllegalStateException {
this.options = options;
setProxyPasswordFromFile(options.getProxyPasswordPath());

try {
controller = new JacocoRuntimeController(RT.getAgent());
} catch (IllegalStateException e) {
Expand All @@ -60,22 +56,7 @@ public AgentBase(AgentOptions options) throws IllegalStateException {
}
}

/** Sets the proxy password JVM property from a file for both http and https. */
private void setProxyPasswordFromFile(Path proxyPasswordFilePath) {
if (proxyPasswordFilePath == null) {
return;
}
try {
String proxyPassword = FileSystemUtils.readFileUTF8(proxyPasswordFilePath.toFile()).trim();
new ProxySystemProperties(ProxySystemProperties.Protocol.HTTP).setProxyPassword(proxyPassword);
new ProxySystemProperties(ProxySystemProperties.Protocol.HTTPS).setProxyPassword(proxyPassword);
} catch (IOException e) {
logger.error(
"Unable to open file containing proxy password. Please make sure the file exists and the user has the permissions to read the file.",
e);
}

}

/**
* Lazily generated string representation of the command line arguments to print to the log.
Expand Down Expand Up @@ -133,10 +114,17 @@ private ServletContextHandler buildUsingResourceConfig() {
*/
void registerShutdownHook() {
Runtime.getRuntime().addShutdownHook(new Thread(() -> {
stopServer();
prepareShutdown();
logger.info("CQSE JaCoCo agent successfully shut down.");
PreMain.closeLoggingResources();
try {
logger.info("CQSE JaCoCo agent is shutting down...");
stopServer();
prepareShutdown();
logger.info("CQSE JaCoCo agent successfully shut down.");
} catch (Exception e) {
logger.error("Exception during agent shutdown.", e);
} finally {
// Try to flush logging resources also in case of an exception during shutdown
PreMain.closeLoggingResources();
}
}));
}

Expand Down
63 changes: 46 additions & 17 deletions agent/src/main/java/com/teamscale/jacoco/agent/PreMain.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package com.teamscale.jacoco.agent;

import com.teamscale.client.HttpUtils;
import com.teamscale.client.TeamscaleServer;
import com.teamscale.jacoco.agent.configuration.AgentOptionReceiveException;
import com.teamscale.jacoco.agent.logging.LogToTeamscaleAppender;
import com.teamscale.jacoco.agent.options.AgentOptionParseException;
Expand All @@ -13,15 +12,15 @@
import com.teamscale.jacoco.agent.options.TeamscalePropertiesUtils;
import com.teamscale.jacoco.agent.testimpact.TestwiseCoverageAgent;
import com.teamscale.jacoco.agent.upload.UploaderException;
import com.teamscale.jacoco.agent.upload.teamscale.TeamscaleConfig;
import com.teamscale.jacoco.agent.util.AgentUtils;
import com.teamscale.jacoco.agent.logging.DebugLogDirectoryPropertyDefiner;
import com.teamscale.jacoco.agent.logging.LogDirectoryPropertyDefiner;
import com.teamscale.jacoco.agent.logging.LoggingUtils;
import com.teamscale.report.util.ILogger;
import org.conqat.lib.commons.collections.CollectionUtils;
import org.conqat.lib.commons.collections.Pair;
import org.conqat.lib.commons.filesystem.FileSystemUtils;
import org.conqat.lib.commons.string.StringUtils;
import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger;

import java.io.File;
Expand All @@ -47,8 +46,10 @@ public class PreMain {
*/
private static final String LOCKING_SYSTEM_PROPERTY = "TEAMSCALE_JAVA_PROFILER_ATTACHED";

/** Environment variable from which to read the config ID to use.
* This is an ID for a profiler configuration that is stored in Teamscale. */
/**
* Environment variable from which to read the config ID to use. This is an ID for a profiler configuration that is
* stored in Teamscale.
*/
private static final String CONFIG_ID_ENVIRONMENT_VARIABLE = "TEAMSCALE_JAVA_PROFILER_CONFIG_ID";

/** Environment variable from which to read the config file to use. */
Expand All @@ -71,9 +72,29 @@ public static void premain(String options, Instrumentation instrumentation) thro
return;
}

AgentOptions agentOptions;
AgentOptions agentOptions = null;
try {
agentOptions = getAndApplyAgentOptions(options, environmentConfigId, environmentConfigFile);
Pair<AgentOptions, List<Exception>> parseResult = getAndApplyAgentOptions(options, environmentConfigId,
environmentConfigFile);
agentOptions = parseResult.getFirst();

// After parsing everything and configuring logging, we now
// can throw the caught exceptions.
for (Exception exception : parseResult.getSecond()) {
throw exception;
}
} catch (AgentOptionParseException e) {
getLoggerContext().getLogger(PreMain.class).error(e.getMessage(), e);

// Flush logs to Teamscale, if configured.
closeLoggingResources();

// Unregister the profiler from Teamscale.
if (agentOptions != null && agentOptions.configurationViaTeamscale != null) {
agentOptions.configurationViaTeamscale.unregisterProfiler();
}

throw e;
} catch (AgentOptionReceiveException e) {
// When Teamscale is not available, we don't want to fail hard to still allow for testing even if no
// coverage is collected (see TS-33237)
Expand All @@ -94,14 +115,14 @@ public static void premain(String options, Instrumentation instrumentation) thro
agent.registerShutdownHook();
}

@NotNull
private static AgentOptions getAndApplyAgentOptions(String options, String environmentConfigId,
String environmentConfigFile) throws AgentOptionParseException, IOException, AgentOptionReceiveException {
private static Pair<AgentOptions, List<Exception>> getAndApplyAgentOptions(String options, String environmentConfigId,
String environmentConfigFile) throws AgentOptionParseException, IOException, AgentOptionReceiveException {

DelayedLogger delayedLogger = new DelayedLogger();
List<String> javaAgents = CollectionUtils.filter(ManagementFactory.getRuntimeMXBean().getInputArguments(),
s -> s.contains("-javaagent"));
if (javaAgents.size() > 1) {
// We allow multiple instances of the teamscale-jacoco-agent as we ensure with the #LOCKING_SYSTEM_PROPERTY to only use it once
if (!javaAgents.stream().allMatch(javaAgent -> javaAgent.contains("teamscale-jacoco-agent.jar"))) {
delayedLogger.warn("Using multiple java agents could interfere with coverage recording.");
}
if (!javaAgents.get(0).contains("teamscale-jacoco-agent.jar")) {
Expand All @@ -112,9 +133,14 @@ private static AgentOptions getAndApplyAgentOptions(String options, String envir
if (credentials == null) {
delayedLogger.warn("Did not find a teamscale.properties file!");
}

Pair<AgentOptions, List<Exception>> parseResult;
AgentOptions agentOptions;
try {
agentOptions = AgentOptionsParser.parse(options, environmentConfigId, environmentConfigFile, credentials, delayedLogger);
parseResult = AgentOptionsParser.parse(
options, environmentConfigId, environmentConfigFile, credentials,
delayedLogger);
agentOptions = parseResult.getFirst();
} catch (AgentOptionParseException e) {
try (LoggingUtils.LoggingResources ignored = initializeFallbackLogging(options, delayedLogger)) {
delayedLogger.errorAndStdErr("Failed to parse agent options: " + e.getMessage(), e);
Expand All @@ -135,7 +161,8 @@ private static AgentOptions getAndApplyAgentOptions(String options, String envir
Logger logger = LoggingUtils.getLogger(Agent.class);
delayedLogger.logTo(logger);
HttpUtils.setShouldValidateSsl(agentOptions.shouldValidateSsl());
return agentOptions;

return parseResult;
}

private static void attemptLogAndThrow(DelayedLogger delayedLogger) {
Expand All @@ -156,7 +183,9 @@ private static void initializeLogging(AgentOptions agentOptions, DelayedLogger l
}

if (agentOptions.getTeamscaleServerOptions().isConfiguredForServerConnection()) {
LogToTeamscaleAppender.addTeamscaleAppenderTo(getLoggerContext(), agentOptions);
if (LogToTeamscaleAppender.addTeamscaleAppenderTo(getLoggerContext(), agentOptions)) {
logger.info("Logs are being forwarded to Teamscale at " + agentOptions.getTeamscaleServerOptions().url);
}
}
}

Expand All @@ -170,7 +199,7 @@ static void closeLoggingResources() {
* the HTTP server is used.
*/
private static AgentBase createAgent(AgentOptions agentOptions,
Instrumentation instrumentation) throws UploaderException, IOException {
Instrumentation instrumentation) throws UploaderException, IOException {
if (agentOptions.useTestwiseCoverageMode()) {
return TestwiseCoverageAgent.create(agentOptions);
} else {
Expand Down Expand Up @@ -198,7 +227,7 @@ private static void initializeDebugLogging(AgentOptions agentOptions, DelayedLog
* this and falls back to the default logger.
*/
private static LoggingUtils.LoggingResources initializeFallbackLogging(String premainOptions,
DelayedLogger delayedLogger) {
DelayedLogger delayedLogger) {
if (premainOptions == null) {
return LoggingUtils.initializeDefaultLogging();
}
Expand Down Expand Up @@ -231,7 +260,7 @@ private static LoggingUtils.LoggingResources initializeFallbackLogging(String pr

/** Creates a fallback logger using the given config file. */
private static LoggingUtils.LoggingResources createFallbackLoggerFromConfig(String configLocation,
DelayedLogger delayedLogger) {
ILogger delayedLogger) {
try {
return LoggingUtils.initializeLogging(
new FilePatternResolver(delayedLogger).parsePath(AgentOptionsParser.LOGGING_CONFIG_OPTION,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,13 @@
import com.teamscale.jacoco.agent.upload.teamscale.DelayedTeamscaleMultiProjectUploader;
import com.teamscale.jacoco.agent.util.DaemonThreadFactory;
import com.teamscale.jacoco.agent.logging.LoggingUtils;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.VisibleForTesting;
import org.slf4j.Logger;

import java.io.File;
import java.io.IOException;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
Expand All @@ -27,19 +29,22 @@ public class GitMultiProjectPropertiesLocator implements IGitPropertiesLocator {

private final boolean recursiveSearch;

public GitMultiProjectPropertiesLocator(DelayedTeamscaleMultiProjectUploader uploader, boolean recursiveSearch) {
private final @Nullable DateTimeFormatter gitPropertiesCommitTimeFormat;

public GitMultiProjectPropertiesLocator(DelayedTeamscaleMultiProjectUploader uploader, boolean recursiveSearch, @Nullable DateTimeFormatter gitPropertiesCommitTimeFormat) {
// using a single threaded executor allows this class to be lock-free
this(uploader, Executors
.newSingleThreadExecutor(
new DaemonThreadFactory(GitMultiProjectPropertiesLocator.class,
"git.properties Jar scanner thread")), recursiveSearch);
"git.properties Jar scanner thread")), recursiveSearch, gitPropertiesCommitTimeFormat);
}

public GitMultiProjectPropertiesLocator(DelayedTeamscaleMultiProjectUploader uploader, Executor executor,
boolean recursiveSearch) {
boolean recursiveSearch, @Nullable DateTimeFormatter gitPropertiesCommitTimeFormat) {
this.uploader = uploader;
this.executor = executor;
this.recursiveSearch = recursiveSearch;
this.gitPropertiesCommitTimeFormat = gitPropertiesCommitTimeFormat;
}

/**
Expand All @@ -62,7 +67,7 @@ void searchFile(File file, boolean isJarFile) {
List<ProjectAndCommit> projectAndCommits = GitPropertiesLocatorUtils.getProjectRevisionsFromGitProperties(
file,
isJarFile,
recursiveSearch);
recursiveSearch, gitPropertiesCommitTimeFormat);
if (projectAndCommits.isEmpty()) {
logger.debug("No git.properties file found in {}", file);
return;
Expand Down
Loading
Loading