Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: bndtools/bnd
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: bndtools/bnd
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: classic
Choose a head ref
Can’t automatically merge. Don’t worry, you can still create the pull request.

Commits on Nov 11, 2022

  1. build: Release 6.4.0-RC1

    Signed-off-by: BJ Hargrave <bj@hargrave.dev>
    bjhargrave committed Nov 11, 2022
    Copy the full SHA
    697f9fc View commit details

Commits on Nov 14, 2022

  1. Resolve artifact's finalName immediately before BndMaven*Plugin exec.

    Injecting the value of 'project.build.finalName' as Mojo parameter has
    the effect that the value is resolved against the then available
    properties and therefore considers properties that were created in a
    previous mojo execution for the same project.
    
    Signed-off-by: Hannes Wellmann <wellmann.hannes1@gmx.net>
    Signed-off-by: BJ Hargrave <bj@hargrave.dev>
    HannesWell authored and bjhargrave committed Nov 14, 2022
    Copy the full SHA
    4fd6bd3 View commit details
  2. [m2e] Avoid runtime errors due to API changes between 1.x and 2.x

    Several types in M2E have been updated to use Lists rather than arrays. We have to implement the extra interface methods (where needed) and use reflective calls to avoid linking to a method which may not exist. All of this code is ugly, and should be removed once we can use a base of M2E 2.x.
    
    Signed-off-by: Tim Ward <timothyjward@apache.org>
    Signed-off-by: BJ Hargrave <bj@hargrave.dev>
    timothyjward authored and bjhargrave committed Nov 14, 2022
    Copy the full SHA
    9927c95 View commit details
  3. [m2e] Avoid runtime errors due to API changes between 1.x and 2.x

    Some types (notably ArtifactKey) have become record types in M2E 2.x - we need to cope transparently with this API change until we increase our base to M2E 2.x. As always, this is ugly code and it should be removed once we can use a base of M2E 2.x
    
    Signed-off-by: Tim Ward <timothyjward@apache.org>
    Signed-off-by: BJ Hargrave <bj@hargrave.dev>
    timothyjward authored and bjhargrave committed Nov 14, 2022
    Copy the full SHA
    0b079fb View commit details
  4. [m2e] Ensure a linkable method exists in M2E 2.x

    When running in M2E 2.x the  delegates to the array version of the mavenProjectChanged method, however as this is declared by the 1.x interface the JVM fails to link the method call. We therefore re-declare the method in the Abstract class to give the linker something to link to.
    
    Signed-off-by: Tim Ward <timothyjward@apache.org>
    Signed-off-by: BJ Hargrave <bj@hargrave.dev>
    timothyjward authored and bjhargrave committed Nov 14, 2022
    Copy the full SHA
    bc8e8f2 View commit details
  5. build: Release 6.4.0-RC2

    Signed-off-by: BJ Hargrave <bj@hargrave.dev>
    bjhargrave committed Nov 14, 2022
    Copy the full SHA
    164e101 View commit details

Commits on Nov 15, 2022

  1. Revert "build(deps): Bump maven-deploy-plugin from 2.8.2 to 3.0.0 in …

    …/maven"
    
    Signed-off-by: BJ Hargrave <bj@hargrave.dev>
    bjhargrave committed Nov 15, 2022
    Copy the full SHA
    1a62b9f View commit details

Commits on Nov 16, 2022

  1. gradle: Escape path to original bndrun file

    In the off chance the bndrun file has a double quote in the name.
    
    We also use `~` to allow the output bndrun file's -runbundles to not be
    overwritten by the original bndrun file's -runbundles, if any.
    
    Signed-off-by: BJ Hargrave <bj@hargrave.dev>
    bjhargrave committed Nov 16, 2022
    Copy the full SHA
    1da40ee View commit details
  2. maven: Fix warnings from maven-plugin-plugin

    Signed-off-by: BJ Hargrave <bj@hargrave.dev>
    bjhargrave committed Nov 16, 2022
    Copy the full SHA
    875a41f View commit details
  3. maven: Move resolver earlier in reactor

    This enables use of resolver in later it testing.
    
    Signed-off-by: BJ Hargrave <bj@hargrave.dev>
    bjhargrave committed Nov 16, 2022
    Copy the full SHA
    0c76117 View commit details
  4. maven: Fix bnd-run-maven-plugin bndrun file selection

    The bndrun configuration parameter is of type File which means
    maven when resolve relative paths against ${project.basedir}.
    So we don’t need to worry about trying to do this.
    
    Signed-off-by: BJ Hargrave <bj@hargrave.dev>
    bjhargrave committed Nov 16, 2022
    Copy the full SHA
    b9da98e View commit details
  5. maven: Support resolving bndrun files to an output folder

    Writing bndrun files in place after resolving is awkward since this
    results in modifying files under source control.
    
    So we add the outputBndrunDir configuration parameter to
    bnd-resolver-maven-plugin so you can specify the output directory
    to write the output bndrun files.
    
    We add the bndrunDir configuration parameter to
    bnd-export-maven-plugin and bnd-testing-maven-plugin so they can use
    the output bndrun files from a bnd-resolver-maven-plugin execution.
    For completeness, we also add the bndrunDir configuration parameter to
    bnd-resolver-maven-plugin.
    
    Signed-off-by: BJ Hargrave <bj@hargrave.dev>
    bjhargrave committed Nov 16, 2022
    Copy the full SHA
    67fbf14 View commit details
  6. build: Release 6.4.0-RC3

    Signed-off-by: BJ Hargrave <bj@hargrave.dev>
    bjhargrave committed Nov 16, 2022
    Copy the full SHA
    90d324f View commit details

Commits on Nov 26, 2022

  1. temp workspace was created in the wrong location

    Due to the use of the wrong workspace folder some remnant directories
    have been created in the projects root directory instead of the target
    directory
    
    Signed-off-by: Juergen Albert <j.albert@data-in-motion.biz>
    Signed-off-by: BJ Hargrave <bj@hargrave.dev>
    juergen-albert authored and bjhargrave committed Nov 26, 2022
    Copy the full SHA
    bb7b8cf View commit details

Commits on Nov 29, 2022

  1. build: 6.4.0 final build

    Signed-off-by: BJ Hargrave <bj@hargrave.dev>
    bjhargrave committed Nov 29, 2022
    Copy the full SHA
    25e4898 View commit details

Commits on Mar 1, 2023

  1. Classic kick off

    ---
     Signed-off-by: Peter Kriens <Peter.Kriens@aQute.biz>
    
    Signed-off-by: Peter Kriens <Peter.Kriens@aQute.biz>
    pkriens committed Mar 1, 2023
    Copy the full SHA
    ab52fad View commit details
  2. Removed maven & gradle plugins

    ---
     Signed-off-by: Peter Kriens <Peter.Kriens@aQute.biz>
    
    Signed-off-by: Peter Kriens <Peter.Kriens@aQute.biz>
    pkriens committed Mar 1, 2023
    Copy the full SHA
    71c55c3 View commit details
  3. Hmm, did not publish to jfrog, that seems to depend on canonical?

    ---
     Signed-off-by: Peter Kriens <Peter.Kriens@aQute.biz>
    
    Signed-off-by: Peter Kriens <Peter.Kriens@aQute.biz>
    pkriens committed Mar 1, 2023
    Copy the full SHA
    edddd96 View commit details
  4. Backported the behavior of the launcher in 7.0.0 regarding scope of i…

    …nstalled bundles. When default start level < 0, we use scoped management. Additionally the biz.aQute.launcher.scoped system property is set, will also use scoped even if the default level is < 0
    
    ---
     Signed-off-by: Peter Kriens <Peter.Kriens@aQute.biz>
    
    Signed-off-by: Peter Kriens <Peter.Kriens@aQute.biz>
    pkriens committed Mar 1, 2023
    Copy the full SHA
    45630fe View commit details

Commits on Mar 16, 2023

  1. Cleaned up bnd annotations

    - Component is removed now after it has been deprecated for a long time
    - Cardinality & Resolution have been changed to String. This will prevent warnings when the annotations are not on the buildpath
    - Changed the use of the older annotations inside bnd to the OSGi versions
    
    Signed-off-by: Peter Kriens <Peter.Kriens@aQute.biz>
    pkriens committed Mar 16, 2023
    Copy the full SHA
    10f113b View commit details

Commits on Mar 17, 2023

  1. Merge pull request #5597 from bndtools/feature/annotations

    Cleaned up bnd annotations
    pkriens authored Mar 17, 2023
    Copy the full SHA
    29dfc65 View commit details

Commits on Jun 8, 2023

  1. Release ready

    ---
     Signed-off-by: Peter Kriens <Peter.Kriens@aQute.biz>
    
    Signed-off-by: Peter Kriens <Peter.Kriens@aQute.biz>
    pkriens committed Jun 8, 2023
    Copy the full SHA
    6f7607a View commit details
  2. Release ready

    ---
     Signed-off-by: Peter Kriens <Peter.Kriens@aQute.biz>
    
    Signed-off-by: Peter Kriens <Peter.Kriens@aQute.biz>
    pkriens committed Jun 8, 2023
    Copy the full SHA
    df0f871 View commit details
  3. Release ready

    ---
     Signed-off-by: Peter Kriens <Peter.Kriens@aQute.biz>
    
    Signed-off-by: Peter Kriens <Peter.Kriens@aQute.biz>
    pkriens committed Jun 8, 2023
    Copy the full SHA
    d6c5a25 View commit details
Showing with 737 additions and 487 deletions.
  1. +0 −3 .github/scripts/ci-build.sh
  2. +1 −2 .github/scripts/ci-publish.sh
  3. +0 −3 .github/scripts/codeql-build.sh
  4. +0 −4 .github/scripts/docs.sh
  5. +0 −2 .github/scripts/rebuild-build.sh
  6. +95 −95 .github/workflows/cibuild.yml
  7. +32 −12 aQute.libg/src/aQute/lib/startlevel/StartLevelRuntimeHandler.java
  8. +4 −17 biz.aQute.bnd.annotation/src/aQute/bnd/annotation/Cardinality.java
  9. +2 −0 biz.aQute.bnd.annotation/src/aQute/bnd/annotation/ConsumerType.java
  10. +6 −0 biz.aQute.bnd.annotation/src/aQute/bnd/annotation/Export.java
  11. +2 −0 biz.aQute.bnd.annotation/src/aQute/bnd/annotation/ProviderType.java
  12. +4 −18 biz.aQute.bnd.annotation/src/aQute/bnd/annotation/Resolution.java
  13. +4 −0 biz.aQute.bnd.annotation/src/aQute/bnd/annotation/Version.java
  14. +0 −14 biz.aQute.bnd.annotation/src/aQute/bnd/annotation/component/Activate.java
  15. +0 −47 biz.aQute.bnd.annotation/src/aQute/bnd/annotation/component/Component.java
  16. +0 −8 biz.aQute.bnd.annotation/src/aQute/bnd/annotation/component/ConfigurationPolicy.java
  17. +0 −14 biz.aQute.bnd.annotation/src/aQute/bnd/annotation/component/Deactivate.java
  18. +0 −14 biz.aQute.bnd.annotation/src/aQute/bnd/annotation/component/Modified.java
  19. +0 −37 biz.aQute.bnd.annotation/src/aQute/bnd/annotation/component/Reference.java
  20. +0 −3 biz.aQute.bnd.annotation/src/aQute/bnd/annotation/component/package-info.java
  21. +1 −1 biz.aQute.bnd.annotation/src/aQute/bnd/annotation/package-info.java
  22. +2 −2 biz.aQute.bnd.annotation/src/aQute/bnd/annotation/spi/ServiceConsumer.java
  23. +1 −1 biz.aQute.bnd.annotation/src/aQute/bnd/annotation/spi/ServiceProvider.java
  24. +1 −1 biz.aQute.bnd.annotation/src/aQute/bnd/annotation/spi/package-info.java
  25. +2 −1 biz.aQute.bnd.exporters/bnd.bnd
  26. +1 −1 biz.aQute.bnd.maven/src/aQute/bnd/maven/lib/resolve/BndrunContainer.java
  27. +1 −1 biz.aQute.bnd.maven/src/aQute/bnd/maven/lib/resolve/DependencyResolver.java
  28. +1 −1 biz.aQute.bnd.maven/src/aQute/bnd/maven/lib/resolve/package-info.java
  29. +11 −10 biz.aQute.bnd.reporter/bnd.bnd
  30. +0 −19 biz.aQute.bndlib.tests/test/test/BuilderTest.java
  31. +0 −40 biz.aQute.bndlib.tests/test/test/component/DSAnnotationTest.java
  32. +0 −7 biz.aQute.bndlib.tests/test/test/deprecatedbndann/component/AnnotatedComponent1.java
  33. +0 −7 biz.aQute.bndlib.tests/test/test/deprecatedbndann/component/AnnotatedComponent2.java
  34. +1 −0 biz.aQute.bndlib/src/aQute/bnd/build/6.4.1.bnd
  35. +2 −1 biz.aQute.bndlib/src/aQute/bnd/help/instructions/ProjectInstructions.java
  36. +1 −1 biz.aQute.bndlib/src/aQute/bnd/help/instructions/package-info.java
  37. +5 −1 biz.aQute.bndlib/src/aQute/bnd/osgi/About.java
  38. +2 −2 biz.aQute.bndlib/src/aQute/bnd/osgi/repository/SimpleIndexer.java
  39. +1 −1 biz.aQute.bndlib/src/aQute/bnd/osgi/repository/package-info.java
  40. +1 −1 biz.aQute.remote/src/aQute/remote/api/Agent.java
  41. +1 −1 biz.aQute.remote/src/aQute/remote/api/packageinfo
  42. +4 −3 biz.aQute.resolve/bnd.bnd
  43. +19 −2 bndtools.m2e/src/bndtools/m2e/AbstractMavenRepository.java
  44. +44 −0 bndtools.m2e/src/bndtools/m2e/ArtifactKeyHelper.java
  45. +8 −7 bndtools.m2e/src/bndtools/m2e/BndConfigurator.java
  46. +29 −4 bndtools.m2e/src/bndtools/m2e/IndexConfigurator.java
  47. +19 −0 bndtools.m2e/src/bndtools/m2e/MavenProjectChangedListenersTracker.java
  48. +33 −1 bndtools.m2e/src/bndtools/m2e/MavenWorkspaceRepository.java
  49. +4 −4 cnf/build.bnd
  50. +3 −3 gradle-plugins/README.md
  51. +14 −1 gradle-plugins/biz.aQute.bnd.gradle/src/main/java/aQute/bnd/gradle/Resolve.java
  52. +1 −1 gradle-plugins/gradle.properties
  53. +1 −1 gradle.properties
  54. +15 −14 maven/bnd-export-maven-plugin/README.md
  55. +2 −1 maven/bnd-export-maven-plugin/src/it/export/pom.xml
  56. +7 −1 maven/bnd-export-maven-plugin/src/main/java/aQute/bnd/maven/export/plugin/ExportMojo.java
  57. +2 −1 maven/bnd-generate-maven-plugin/src/main/java/aQute/bnd/maven/generate/plugin/BndContainer.java
  58. +1 −1 maven/bnd-generate-maven-plugin/src/main/java/aQute/bnd/maven/generate/plugin/GenerateMojo.java
  59. +7 −2 maven/bnd-indexer-maven-plugin/src/main/java/aQute/bnd/maven/indexer/plugin/IndexerMojo.java
  60. +10 −7 maven/bnd-maven-plugin/src/main/java/aQute/bnd/maven/plugin/AbstractBndMavenPlugin.java
  61. +2 −2 maven/bnd-plugin-parent/pom.xml
  62. +13 −11 maven/bnd-resolver-maven-plugin/README.md
  63. +4 −0 maven/bnd-resolver-maven-plugin/src/it/resolve-outputdir/bndruns/test.bndrun
  64. +7 −0 maven/bnd-resolver-maven-plugin/src/it/resolve-outputdir/invoker.properties
  65. +33 −0 maven/bnd-resolver-maven-plugin/src/it/resolve-outputdir/pom.xml
  66. +29 −0 maven/bnd-resolver-maven-plugin/src/it/resolve-outputdir/postbuild.groovy
  67. +7 −0 maven/bnd-resolver-maven-plugin/src/it/resolve-outputdir/prebuild.groovy
  68. +41 −1 maven/bnd-resolver-maven-plugin/src/main/java/aQute/bnd/maven/resolver/plugin/ResolverMojo.java
  69. +2 −7 maven/bnd-run-maven-plugin/src/main/java/aQute/bnd/maven/run/plugin/RunMojo.java
  70. +18 −17 maven/bnd-testing-maven-plugin/README.md
  71. +17 −0 maven/bnd-testing-maven-plugin/src/it/parent/pom.xml
  72. +2 −0 maven/bnd-testing-maven-plugin/src/it/test-with-resolve-outputdir/bnd.bnd
  73. +7 −0 maven/bnd-testing-maven-plugin/src/it/test-with-resolve-outputdir/invoker.properties
  74. +61 −0 maven/bnd-testing-maven-plugin/src/it/test-with-resolve-outputdir/pom.xml
  75. +34 −0 maven/bnd-testing-maven-plugin/src/it/test-with-resolve-outputdir/postbuild.groovy
  76. +7 −0 maven/bnd-testing-maven-plugin/src/it/test-with-resolve-outputdir/prebuild.groovy
  77. +33 −0 ...ting-maven-plugin/src/it/test-with-resolve-outputdir/src/main/java/bnd/test/ResolvingBndTest.java
  78. +4 −0 maven/bnd-testing-maven-plugin/src/it/test-with-resolve-outputdir/test.bndrun
  79. +7 −1 maven/bnd-testing-maven-plugin/src/main/java/aQute/bnd/maven/testing/plugin/TestingMojo.java
  80. +1 −1 maven/pom.xml
3 changes: 0 additions & 3 deletions .github/scripts/ci-build.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
#!/usr/bin/env bash
set -ev
./gradlew --no-daemon --version
./mvnw --version
./gradlew --no-daemon -Dmaven.repo.local=dist/m2 --continue :build "$@"
./gradlew --no-daemon -Dmaven.repo.local=dist/m2 --continue :gradle-plugins:build
./mvnw -Dmaven.repo.local=dist/m2 --batch-mode --no-transfer-progress --file=maven install
3 changes: 1 addition & 2 deletions .github/scripts/ci-publish.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
#!/usr/bin/env bash
set -ev
./gradlew --no-daemon -Dmaven.repo.local=dist/m2 :publish :gradle-plugins:publish "$@"
./mvnw -Dmaven.repo.local=dist/m2 --batch-mode -Pdist -Dreleaserepo=file:dist/bundles --file=maven deploy
./gradlew --no-daemon -Dmaven.repo.local=dist/m2 :publish "$@"
3 changes: 0 additions & 3 deletions .github/scripts/codeql-build.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
#!/usr/bin/env bash
set -ev
./gradlew --no-daemon --version
./mvnw --version
./gradlew --no-daemon -Dmaven.repo.local=dist/m2 --continue testClasses :dist:jarDependencies "$@"
./gradlew --no-daemon -Dmaven.repo.local=dist/m2 --continue :gradle-plugins:testClasses
./mvnw -Dmaven.repo.local=dist/m2 --batch-mode --no-transfer-progress --file=maven test-compile
4 changes: 0 additions & 4 deletions .github/scripts/docs.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
#!/usr/bin/env bash
set -ev
cd docs
ruby --version
gem --version
bundle --version
bundle exec jekyll build
2 changes: 0 additions & 2 deletions .github/scripts/rebuild-build.sh
Original file line number Diff line number Diff line change
@@ -2,5 +2,3 @@
set -ev
./gradlew --no-daemon --version
./gradlew --no-daemon -Dmaven.repo.local=dist/m2 :buildscriptDependencies :publish
./gradlew --no-daemon -Dmaven.repo.local=dist/m2 --warning-mode=fail :gradle-plugins:build
./gradlew --no-daemon -Dmaven.repo.local=dist/m2 :gradle-plugins:publish
190 changes: 95 additions & 95 deletions .github/workflows/cibuild.yml
Original file line number Diff line number Diff line change
@@ -1,106 +1,106 @@
name: 'CI Build'
name: "CI Build"

on:
push:
branches-ignore:
- 'dependabot/**'
paths:
- '**'
- '!docs/**'
- '!.github/**'
- '.github/**/*ci*'
pull_request:
paths:
- '**'
- '!docs/**'
- '!.github/**'
- '.github/**/*ci*'
push:
branches-ignore:
- "dependabot/**"
paths:
- "**"
- "!docs/**"
- "!.github/**"
- ".github/**/*ci*"
pull_request:
paths:
- "**"
- "!docs/**"
- "!.github/**"
- ".github/**/*ci*"

env:
LC_ALL: en_US.UTF-8
GRADLE_OPTS: >-
-Dorg.gradle.parallel=true
MAVEN_OPTS: >-
-Dhttp.keepAlive=false
-Dmaven.wagon.http.pool=false
-Dmaven.wagon.http.retryHandler.count=3
LC_ALL: en_US.UTF-8
GRADLE_OPTS: >-
-Dorg.gradle.parallel=true
MAVEN_OPTS: >-
-Dhttp.keepAlive=false
-Dmaven.wagon.http.pool=false
-Dmaven.wagon.http.retryHandler.count=3
defaults:
run:
shell: bash
run:
shell: bash

permissions:
contents: read
contents: read

jobs:
build:
strategy:
fail-fast: ${{ (github.repository != 'bndtools/bnd') || ((github.ref != 'refs/heads/master') && (github.ref != 'refs/heads/next')) || (github.event_name == 'pull_request') }}
matrix:
os:
- 'ubuntu-latest'
java:
- '8'
- '11'
- '18'
runner:
- 'xvfb-run --auto-servernum {0}'
include:
- os: 'ubuntu-latest'
java: '17'
runner: 'xvfb-run --auto-servernum {0}'
canonical: ${{ (github.repository == 'bndtools/bnd') && ((github.ref == 'refs/heads/master') || (github.ref == 'refs/heads/next')) && (github.event_name != 'pull_request') }}
fetch-depth: '0'
- os: 'windows-latest'
java: '17'
runner: '{0}'
name: Build JDK${{ matrix.java }} ${{ matrix.os }}
runs-on: ${{ matrix.os }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@ebacdc22ef6c2cfb85ee5ded8f2e640f4c776dd5
with:
egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
build:
strategy:
fail-fast: ${{ (github.repository != 'bndtools/bnd') || ((github.ref != 'refs/heads/master') && (github.ref != 'refs/heads/next')) || (github.event_name == 'pull_request') }}
matrix:
os:
- "ubuntu-latest"
java:
- "8"
- "11"
- "18"
runner:
- "xvfb-run --auto-servernum {0}"
include:
- os: "ubuntu-latest"
java: "17"
runner: "xvfb-run --auto-servernum {0}"
canonical: ${{ (github.repository == 'bndtools/bnd') && ((github.ref == 'refs/heads/classic') || (github.ref == 'refs/heads/master') || (github.ref == 'refs/heads/next')) && (github.event_name != 'pull_request') }}
fetch-depth: "0"
- os: "windows-latest"
java: "17"
runner: "{0}"
name: Build JDK${{ matrix.java }} ${{ matrix.os }}
runs-on: ${{ matrix.os }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@ebacdc22ef6c2cfb85ee5ded8f2e640f4c776dd5
with:
egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs

- name: Git Checkout
uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
with:
fetch-depth: ${{ matrix.fetch-depth }}
- name: Set up Java ${{ matrix.java }}
uses: actions/setup-java@de1bb2b0c5634f0fc4438d7aa9944e68f9bf86cc
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
- name: Set up Gradle
uses: gradle/gradle-build-action@3fbe033aaae657f011f88f29be9e65ed26bd29ef
- name: Build
id: build
run: |
${{ format(matrix.runner, './.github/scripts/ci-build.sh') }}
- name: Configure settings.xml for Publish
if: ${{ matrix.canonical }}
uses: actions/setup-java@de1bb2b0c5634f0fc4438d7aa9944e68f9bf86cc
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
server-id: bndtools.jfrog.io
server-username: JFROG_USERNAME
server-password: JFROG_PASSWORD
- name: Publish
id: publish
if: ${{ matrix.canonical }}
run: |
./.github/scripts/ci-publish.sh
env:
CANONICAL: ${{ matrix.canonical }}
JFROG_USERNAME: ${{ secrets.JFROG_USERNAME }}
JFROG_PASSWORD: ${{ secrets.JFROG_PASSWORD }}
- name: Upload Test Reports
if: ${{ always() && ((steps.build.outcome == 'success') || (steps.build.outcome == 'failure')) }}
uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb
with:
name: Build_JDK${{ matrix.java }}_${{ matrix.os }}-test-reports
path: |
*/generated/test-reports/*/TEST-*.xml
maven/*/target/surefire-reports/TEST-*.xml
gradle-plugins/*/build/test-results/*/TEST-*.xml
- name: Git Checkout
uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
with:
fetch-depth: ${{ matrix.fetch-depth }}
- name: Set up Java ${{ matrix.java }}
uses: actions/setup-java@de1bb2b0c5634f0fc4438d7aa9944e68f9bf86cc
with:
distribution: "temurin"
java-version: ${{ matrix.java }}
- name: Set up Gradle
uses: gradle/gradle-build-action@3fbe033aaae657f011f88f29be9e65ed26bd29ef
- name: Build
id: build
run: |
${{ format(matrix.runner, './.github/scripts/ci-build.sh') }}
- name: Configure settings.xml for Publish
if: ${{ matrix.canonical }}
uses: actions/setup-java@de1bb2b0c5634f0fc4438d7aa9944e68f9bf86cc
with:
distribution: "temurin"
java-version: ${{ matrix.java }}
server-id: bndtools.jfrog.io
server-username: JFROG_USERNAME
server-password: JFROG_PASSWORD
- name: Publish
id: publish
if: ${{ matrix.canonical }}
run: |
./.github/scripts/ci-publish.sh
env:
CANONICAL: ${{ matrix.canonical }}
JFROG_USERNAME: ${{ secrets.JFROG_USERNAME }}
JFROG_PASSWORD: ${{ secrets.JFROG_PASSWORD }}
- name: Upload Test Reports
if: ${{ always() && ((steps.build.outcome == 'success') || (steps.build.outcome == 'failure')) }}
uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb
with:
name: Build_JDK${{ matrix.java }}_${{ matrix.os }}-test-reports
path: |
*/generated/test-reports/*/TEST-*.xml
maven/*/target/surefire-reports/TEST-*.xml
gradle-plugins/*/build/test-results/*/TEST-*.xml
44 changes: 32 additions & 12 deletions aQute.libg/src/aQute/lib/startlevel/StartLevelRuntimeHandler.java
Original file line number Diff line number Diff line change
@@ -158,15 +158,33 @@ static public StartLevelRuntimeHandler create(Trace logger, Map<String, String>

String defaultStartlevelString = outerConfiguration.get(LAUNCH_STARTLEVEL_DEFAULT);
if (defaultStartlevelString == null) {
logger.trace("startlevel: not handled");
logger.trace("startlevel: not handled because %s not set", LAUNCH_STARTLEVEL_DEFAULT);
return absent();
}

int defaultStartlevel = toInt(defaultStartlevelString, 1);
int tmp = toInt(defaultStartlevelString, 1);
if (tmp == 0) {
logger.trace("startlevel: disabled because property %s==%s", LAUNCH_STARTLEVEL_DEFAULT,
defaultStartlevelString);
return absent();
}


int defaultStartlevel;
boolean manageAll;
if (tmp > 0) {
manageAll = !Boolean.getBoolean("biz.aQute.launcher.scoped");
defaultStartlevel = tmp;
} else {
manageAll = false;
defaultStartlevel = -tmp;
}

int beginningStartlevel = toInt(outerConfiguration.get(Constants.FRAMEWORK_BEGINNING_STARTLEVEL), 1);
outerConfiguration.put(Constants.FRAMEWORK_BEGINNING_STARTLEVEL, "1");

logger.trace("startlevel: handled begin=%s default=%s", beginningStartlevel, defaultStartlevel);
logger.trace("startlevel: handled begin=%s default=%s managed=%s", beginningStartlevel, defaultStartlevel,
manageAll ? "all" : "narrow");

//
// We need to remove it otherwise the framework reacts to it
@@ -185,15 +203,8 @@ assert getFrameworkStartLevel(

this.systemBundle = systemBundle;

for (Bundle bundle : systemBundle.getBundleContext()
.getBundles()) {
if (bundle.getBundleId() == 0) {
continue;
}
if (bundle.getSymbolicName() == null) {
continue;
}
installed.put(bundle, new BundleIdentity(bundle));
if (manageAll) {
manageAll(systemBundle);
}

updateConfiguration(outerConfiguration);
@@ -222,6 +233,15 @@ assert getFrameworkStartLevel(

}

private void manageAll(Framework systemBundle) {
for (Bundle bundle : systemBundle.getBundleContext()
.getBundles()) {
if (bundle.getBundleId() != 0 && bundle.getSymbolicName() != null) {
installed.put(bundle, new BundleIdentity(bundle));
}
}
}

@Override
public void afterStart() {
setFrameworkStartLevel(systemBundle, beginningStartlevel, event -> {
21 changes: 4 additions & 17 deletions biz.aQute.bnd.annotation/src/aQute/bnd/annotation/Cardinality.java
Original file line number Diff line number Diff line change
@@ -3,35 +3,22 @@
/**
* For use in the creation of custom bundle annotations wishing to control the
* cardinality of generated requirements.
* <p>
* The {@link #name} will automatically be converted to lower case during macro
* processing.
*/
public enum Cardinality {
public interface Cardinality {
/**
* Indicates if the requirement can only be wired a single time.
*/
SINGLE("single"), // Namespace.CARDINALITY_SINGLE
String SINGLE = "single"; // Namespace.CARDINALITY_SINGLE

/**
* Indicates if the requirement can be wired multiple times.
*/
MULTIPLE("multiple"), // Namespace.CARDINALITY_MULTIPLE
String MULTIPLE = "multiple"; // Namespace.CARDINALITY_MULTIPLE

/**
* Default element value for annotation. This is used to distinguish the
* default value for an element and should not otherwise be used.
*/
DEFAULT("<<default>>");
String DEFAULT = "default";

private final String value;

Cardinality(String value) {
this.value = value;
}

@Override
public String toString() {
return value;
}
}
Original file line number Diff line number Diff line change
@@ -17,7 +17,9 @@
* <p>
* For an elaborate and simple explanation, see {@link ProviderType}.
* </p>
* Deprecated because being replaced by OSGi annotations
*/
@Deprecated
@Documented
@Retention(RetentionPolicy.CLASS)
@Target(ElementType.TYPE)
6 changes: 6 additions & 0 deletions biz.aQute.bnd.annotation/src/aQute/bnd/annotation/Export.java
Original file line number Diff line number Diff line change
@@ -6,6 +6,12 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
* Not deprecated because it includes functionality the OSGi Version annotation
* lacks, like the INCLUDE/EXCLUDE.
*/


@Documented
@Retention(RetentionPolicy.CLASS)
@Target(ElementType.PACKAGE)
Original file line number Diff line number Diff line change
@@ -59,7 +59,9 @@
* In the html javadoc, you will see "Consumers of this API must not implement
* this interface" for @noimplement marked interfaces.
* </p>
* Deprecated because replaced by OSGi annotations
*/
@Deprecated
@Documented
@Retention(RetentionPolicy.CLASS)
@Target(ElementType.TYPE)
Loading