From e8ea176dba92ed3ff19f0cf6efb68348d8dc307e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Albert?= Date: Tue, 5 Jan 2021 17:04:08 +0100 Subject: [PATCH] [#12] moved all settings to ext folder; use templates from mvn central MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jürgen Albert --- cnf/build.bnd | 78 +------------- cnf/central.maven | 2 - cnf/ext/central.maven | 4 + cnf/ext/osgi_repos.bnd | 55 ++++++++++ cnf/ext/settings.bnd | 18 ++++ cnf/templates/index.xml | 96 ------------------ cnf/templates/index.xml.sha | 1 - .../org.bndtools.templates.osgi-7.0.0.jar | Bin 25577 -> 0 bytes 8 files changed, 79 insertions(+), 175 deletions(-) delete mode 100644 cnf/central.maven create mode 100644 cnf/ext/central.maven create mode 100644 cnf/ext/osgi_repos.bnd create mode 100644 cnf/ext/settings.bnd delete mode 100644 cnf/templates/index.xml delete mode 100644 cnf/templates/index.xml.sha delete mode 100644 cnf/templates/org.bndtools.templates.osgi/org.bndtools.templates.osgi-7.0.0.jar diff --git a/cnf/build.bnd b/cnf/build.bnd index 756129c..f08f8aa 100644 --- a/cnf/build.bnd +++ b/cnf/build.bnd @@ -1,76 +1,2 @@ -# Configure Repositories --plugin.1.R7.API: \ - aQute.bnd.repository.maven.pom.provider.BndPomRepository; \ - snapshotUrls=https://oss.sonatype.org/content/repositories/osgi/; \ - releaseUrls=https://repo.maven.apache.org/maven2/; \ - revision=org.osgi.enroute:osgi-api:7.0.0; \ - readOnly=true; \ - name="OSGi R7 API" --plugin.2.Enterprise.API: \ - aQute.bnd.repository.maven.pom.provider.BndPomRepository; \ - snapshotUrls=https://oss.sonatype.org/content/repositories/osgi/; \ - releaseUrls=https://repo.maven.apache.org/maven2/; \ - revision=org.osgi.enroute:enterprise-api:7.0.0; \ - readOnly=true; \ - name="Enterprise Java APIs" --plugin.3.R7.Impl: \ - aQute.bnd.repository.maven.pom.provider.BndPomRepository; \ - snapshotUrls=https://oss.sonatype.org/content/repositories/osgi/; \ - releaseUrls=https://repo.maven.apache.org/maven2/; \ - revision=org.osgi.enroute:impl-index:7.0.0; \ - readOnly=true; \ - name="OSGi R7 Reference Implementations" --plugin.4.Test: \ - aQute.bnd.repository.maven.pom.provider.BndPomRepository; \ - snapshotUrls=https://oss.sonatype.org/content/repositories/osgi/; \ - releaseUrls=https://repo.maven.apache.org/maven2/; \ - revision=org.osgi.enroute:test-bundles:7.0.0; \ - readOnly=true; \ - name="Testing Bundles" --plugin.5.Debug: \ - aQute.bnd.repository.maven.pom.provider.BndPomRepository; \ - snapshotUrls=https://oss.sonatype.org/content/repositories/osgi/; \ - releaseUrls=https://repo.maven.apache.org/maven2/; \ - revision=org.osgi.enroute:debug-bundles:7.0.0; \ - readOnly=true; \ - name="Debug Bundles" --plugin.6.Central: \ - aQute.bnd.repository.maven.provider.MavenBndRepository; \ - releaseUrl=https://repo.maven.apache.org/maven2/; \ - index=${.}/central.maven; \ - readOnly=true; \ - name="Maven Central" --plugin.7.Local: \ - aQute.bnd.deployer.repository.LocalIndexedRepo; \ - name = Local; \ - pretty = true; \ - local = ${build}/local - --plugin.8.Templates: \ - aQute.bnd.deployer.repository.LocalIndexedRepo; \ - name = Templates; \ - pretty = true; \ - local = ${build}/templates - --plugin.9.Release: \ - aQute.bnd.deployer.repository.LocalIndexedRepo; \ - name = Release; \ - pretty = true; \ - local = ${build}/release - --releaserepo: Release --baselinerepo: Release - -# Always use contracts --contract: * - -# Set Git revision information in the manifests of built bundles -Git-Descriptor: ${system-allow-fail;git describe --dirty --always} -Git-SHA: ${system-allow-fail;git rev-list -1 HEAD} - -# JUnit -junit: org.apache.servicemix.bundles.junit; version=4.12 -mockito: org.mockito.mockito-core; version=2.13.0 -mockito-deps: org.objenesis; version=2.6.0,\ - net.bytebuddy.byte-buddy; version=1.7.9,\ - net.bytebuddy.byte-buddy-agent; version=1.7.9 +# All settings moved to the bnd files in the ext directory. +# bnd files found there will be included automatically. diff --git a/cnf/central.maven b/cnf/central.maven deleted file mode 100644 index 22e35f9..0000000 --- a/cnf/central.maven +++ /dev/null @@ -1,2 +0,0 @@ -# List repository contents using GAV coordinates - diff --git a/cnf/ext/central.maven b/cnf/ext/central.maven new file mode 100644 index 0000000..71883c6 --- /dev/null +++ b/cnf/ext/central.maven @@ -0,0 +1,4 @@ +# List repository contents using GAV coordinates +org.bndtools:org.bndtools.templates.osgi:${bndversion} +org.bndtools:org.bndtools.templates.template:${bndversion} + diff --git a/cnf/ext/osgi_repos.bnd b/cnf/ext/osgi_repos.bnd new file mode 100644 index 0000000..620ecbc --- /dev/null +++ b/cnf/ext/osgi_repos.bnd @@ -0,0 +1,55 @@ +# Configure Repositories +-plugin.1.R7.API: \ + aQute.bnd.repository.maven.pom.provider.BndPomRepository; \ + snapshotUrls=https://oss.sonatype.org/content/repositories/osgi/; \ + releaseUrls=https://repo.maven.apache.org/maven2/; \ + revision=org.osgi.enroute:osgi-api:7.0.0; \ + readOnly=true; \ + name="OSGi R7 API" +-plugin.2.Enterprise.API: \ + aQute.bnd.repository.maven.pom.provider.BndPomRepository; \ + snapshotUrls=https://oss.sonatype.org/content/repositories/osgi/; \ + releaseUrls=https://repo.maven.apache.org/maven2/; \ + revision=org.osgi.enroute:enterprise-api:7.0.0; \ + readOnly=true; \ + name="Enterprise Java APIs" +-plugin.3.R7.Impl: \ + aQute.bnd.repository.maven.pom.provider.BndPomRepository; \ + snapshotUrls=https://oss.sonatype.org/content/repositories/osgi/; \ + releaseUrls=https://repo.maven.apache.org/maven2/; \ + revision=org.osgi.enroute:impl-index:7.0.0; \ + readOnly=true; \ + name="OSGi R7 Reference Implementations" +-plugin.4.Test: \ + aQute.bnd.repository.maven.pom.provider.BndPomRepository; \ + snapshotUrls=https://oss.sonatype.org/content/repositories/osgi/; \ + releaseUrls=https://repo.maven.apache.org/maven2/; \ + revision=org.osgi.enroute:test-bundles:7.0.0; \ + readOnly=true; \ + name="Testing Bundles" +-plugin.5.Debug: \ + aQute.bnd.repository.maven.pom.provider.BndPomRepository; \ + snapshotUrls=https://oss.sonatype.org/content/repositories/osgi/; \ + releaseUrls=https://repo.maven.apache.org/maven2/; \ + revision=org.osgi.enroute:debug-bundles:7.0.0; \ + readOnly=true; \ + name="Debug Bundles" + +-plugin.6.Central: \ + aQute.bnd.repository.maven.provider.MavenBndRepository; \ + releaseUrl=https://repo.maven.apache.org/maven2/; \ + index=${.}/central.maven; \ + readOnly=true; \ + name="Maven Central" + +-plugin.7.Local: \ + aQute.bnd.deployer.repository.LocalIndexedRepo; \ + name = Local; \ + pretty = true; \ + local = ${build}/local + +-plugin.9.Release: \ + aQute.bnd.deployer.repository.LocalIndexedRepo; \ + name = Release; \ + pretty = true; \ + local = ${build}/release \ No newline at end of file diff --git a/cnf/ext/settings.bnd b/cnf/ext/settings.bnd new file mode 100644 index 0000000..880c9a6 --- /dev/null +++ b/cnf/ext/settings.bnd @@ -0,0 +1,18 @@ +-releaserepo: Release +-baselinerepo: Release + +# Always use contracts +-contract: * + +# Set Git revision information in the manifests of built bundles +Git-Descriptor: ${system-allow-fail;git describe --dirty --always} +Git-SHA: ${system-allow-fail;git rev-list -1 HEAD} + +# JUnit +junit: org.apache.servicemix.bundles.junit; version=4.12 +mockito: org.mockito.mockito-core; version=2.13.0 +mockito-deps: org.objenesis; version=2.6.0,\ + net.bytebuddy.byte-buddy; version=1.7.9,\ + net.bytebuddy.byte-buddy-agent; version=1.7.9 + +bndversion: 5.2.0 \ No newline at end of file diff --git a/cnf/templates/index.xml b/cnf/templates/index.xml deleted file mode 100644 index 4c76493..0000000 --- a/cnf/templates/index.xml +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cnf/templates/index.xml.sha b/cnf/templates/index.xml.sha deleted file mode 100644 index c363d86..0000000 --- a/cnf/templates/index.xml.sha +++ /dev/null @@ -1 +0,0 @@ -61275256eb23a6404cfbbb35fee55ecba044ba36319684fd106af299857d019e \ No newline at end of file diff --git a/cnf/templates/org.bndtools.templates.osgi/org.bndtools.templates.osgi-7.0.0.jar b/cnf/templates/org.bndtools.templates.osgi/org.bndtools.templates.osgi-7.0.0.jar deleted file mode 100644 index 792c5967b45ade741b544de27c80529dde6d2daa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25577 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 ZgSp}P??7H|R2=Z1J0LNnD0%s>{{s+0FbMzv