Configuration menu Browse the repository at this point in the history
Configuration menu Browse the repository at this point in the history
Configuration menu Browse the repository at this point in the history
Remove unused jspecify and errorprone dependencies Eliminated org.jspecify.jspecify and com.google.errorprone.annotations from the build and import configurations as they are no longer required. Updated Import-Package to explicitly exclude these packages. Signed-off-by: Christoph Rueger chrisrueger@gmail.com make errorprone / guava.failureaccess private Remove packages from Import-Package for com.google.common.util.concurrent.internal and com.google.errorprone.annotations. Signed-off-by: Christoph Rueger chrisrueger@gmail.com make org.junit.platform resolution:=optional, to avoid problems for consumers of bnd (like Eclipse who are on higher JUnit version eclipse-platform/eclipse.platform.releng.aggregator#3579) Signed-off-by: Christoph Rueger chrisrueger@gmail.com Configuration menu Browse the repository at this point in the history
Configuration menu Browse the repository at this point in the history
Configuration menu Browse the repository at this point in the history
biz.aQute.bnd.annotation: compile with java 8 remove Java 9+ features: It was simply the attributes of the @Deprecated annotation. So we just put that into the comment and use plain @Deprecated which is Java8 compatible. The enforce compilation with java8 Signed-off-by: Christoph Rueger chrisrueger@gmail.com Configuration menu Browse the repository at this point in the history
Configuration menu Browse the repository at this point in the history
skip reorderClause() for Bundle-NativeCode Fixes #7028 Also added a testcase so that we have this covered. In the future we could look into a better fix if needed, which would require special reorderClause for Bundle-NativeCode, because this header is special and cannot be parsed like normal OSGi headers, as Bundle-NativeCode is the only OSGi header with positional elements (paths) before attributes. Signed-off-by: Christoph Rueger chrisrueger@gmail.com Configuration menu Browse the repository at this point in the history
Deprecate biz.aQute.tester and biz.aQute.junit Mention the removal in 8.0.0 in the readme and .bnd files Docs: Add deprecation notice for biz.aQute.tester Added a deprecation warning to the testing documentation indicating that the default test 'biz.aQute.tester' is deprecated as of bnd 7.2.0 and will be removed in 8.0.0. Users are advised to migrate to JUnit 5 and use 'biz.aQute.tester.junit-platform'. Signed-off-by: Christoph Rueger chrisrueger@gmail.com Configuration menu Browse the repository at this point in the history
Configuration menu Browse the repository at this point in the history
added testcase for non-jar repo references tp prove the current problems of #6660
Fix file extension check for library containers. Changed the file name check from 'lib' to '.lib' to correctly identify library containers based on file extension. There are other places where ".lib" is checked already.
Added handling for ZipException in ProjectBuilder and ResourceBuilder to support non-JAR files (e.g., .so, .dylib) referenced in repositories. This prevents errors when such files are encountered (e.g. via ${repo} macro) and ensures dependencies and resources are processed gracefully.
Also do not add non-jar files as library entries in BndContainerInitializer Signed-off-by: Christoph Rueger chrisrueger@gmail.com Configuration menu Browse the repository at this point in the history
Configuration menu Browse the repository at this point in the history
Modified BundleEngine.executeBundle() to accept and pass ExecutionRequest parameter
Updated BundleDescriptor.executeChild() to accept ExecutionRequest instead of separate listener and params Add ExecutionRequestFactory to propagate execution context for JUnit Platform 1.13+ Implemented ExecutionRequestFactory that uses reflection to properly propagate the internal NamespacedHierarchicalStore from parent ExecutionRequest to child requests. This is necessary for JUnit Platform 1.13+ compatibility. The factory:
Detects if reflection is available and needed
Uses internal Store API if available (JUnit Platform 1.13+)
Falls back to public constructor for older versions
Handles failures gracefully Updated BundleDescriptor to use the factory instead of directly creating ExecutionRequest.
Add detailed comment explaining why internal JUnit Platform API is accessed Updated BundleEngineTest to include ExecutionRequestFactory class in the engine bundle for tests. This class was added in the JUnit Platform 1.13+ compatibility changes but wasn't included in the test bundle setup. All tests now pass successfully. Update JUnit Jupiter/Platform versions to 5.11.4/1.11.4 Updated junit.jupiter.version and junit.platform.version to 5.11.4/1.11.4 to test with newer versions. These versions are compatible and all 136 tests pass. Fix JUnit5 test classes to use static @BeforeAll methods for 5.13+ compatibility Made @BeforeAll methods static in JUnit5ContainerFailure and JUnit5ContainerError test classes. In JUnit 5.13+, non-static @BeforeAll methods are now detected as discovery errors (causing DiscoveryIssueException) rather than execution failures. This was causing the exitCode_countsJupiterContainerErrorsAndFailures() test to fail - expecting exit code 2 (two container failures) but getting exit code 1 (discovery error). Making the @BeforeAll methods static ensures they properly execute and fail as intended by the test, maintaining compatibility with JUnit Platform 1.13+. fix ConfigVersionsTest replace deprecated method getParameterTypeNames Replaces calls to getMethodParameterTypes with getParameterTypeNames when creating and resolving MethodSelectors. This aligns with updated API usage and ensures correct parameter type handling. Refactor ExecutionRequest to use static create() methods Replaces use of internal constructors with reflection-based invocation of static create() methods for ExecutionRequest, improving compatibility with JUnit Platform 1.13+ and future versions. This change also updates the logic to detect and use the appropriate static method signatures, and removes reliance on direct constructor access. Signed-off-by: Christoph Rueger chrisrueger@gmail.com Update JUnit Jupiter and Platform to 5.14.1/1.14.1 Bump JUnit Jupiter and Platform versions to 5.14.2 and 1.14.2 in cnf/ext/junit.bnd, Gradle, and Maven plugin parent POM to keep dependencies up to date and consistent across the project. This is the latest version in the 5.x / 1.x range and also the version used by Eclipse Signed-off-by: Christoph Rueger chrisrueger@gmail.com Co-Authored-By: chrisrueger 188422+chrisrueger@users.noreply.github.com Configuration menu Browse the repository at this point in the history
Configuration menu Browse the repository at this point in the history