commit 9cdbb8407681cf5b80bd3a3f00514b49b193be72 Author: Bas van den Brink Date: Tue Sep 28 11:17:52 2021 +0200 Hello world diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..26ca3df --- /dev/null +++ b/.gitignore @@ -0,0 +1,21 @@ +.idea/ +*.iml +.gradle +**/build/ +!src/**/build/ + +bin/ + +# Ignore Gradle GUI config +gradle-app.setting + +# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored) +!gradle-wrapper.jar + +# Cache of project +.gradletasknamecache + +# BND +generated/ +cnf/cache/ +cnf/templates/ \ No newline at end of file diff --git a/.gradle-wrapper/gradle-wrapper.jar b/.gradle-wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..f37f008 Binary files /dev/null and b/.gradle-wrapper/gradle-wrapper.jar differ diff --git a/.gradle-wrapper/gradle-wrapper.properties b/.gradle-wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..14abe81 --- /dev/null +++ b/.gradle-wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Tue Oct 16 18:55:11 CEST 2018 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.1.1-bin.zip diff --git a/MyFirstBundle/bnd.bnd b/MyFirstBundle/bnd.bnd new file mode 100644 index 0000000..be81309 --- /dev/null +++ b/MyFirstBundle/bnd.bnd @@ -0,0 +1,7 @@ +Bundle-Version: 1.0.0 +Private-Package: MyFirstBundle + +-buildfeatures: +-buildpath: + +Bundle-Activator: MyFirstBundle.Activator \ No newline at end of file diff --git a/MyFirstBundle/src/MyFirstBundle/Activator.java b/MyFirstBundle/src/MyFirstBundle/Activator.java new file mode 100644 index 0000000..5b0d24d --- /dev/null +++ b/MyFirstBundle/src/MyFirstBundle/Activator.java @@ -0,0 +1,28 @@ +package MyFirstBundle; + +import org.osgi.framework.BundleActivator; +import org.osgi.framework.BundleContext; + +public class Activator implements BundleActivator { + private Thread thread; + + @Override + public void start(BundleContext bundleContext) throws Exception { + thread = new Thread(() -> { + try { + while (true) { + System.out.println("Hello!"); + Thread.sleep(2000); + } + } catch (InterruptedException e) { + System.out.println("MyFirstBundle stopped"); + } + }); + thread.start(); + } + + @Override + public void stop(BundleContext bundleContext) throws Exception { + thread.interrupt(); + } +} diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..9809fc9 --- /dev/null +++ b/build.gradle @@ -0,0 +1,19 @@ +// Available to customize the build + +subprojects { + if (file('bnd.bnd').exists()) { + repositories { + maven { + url bndWorkspace.getProperty('amdatu-blueprint-maven-releaseUrls') + } + } + + dependencies { + testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:' + bndWorkspace.getProperty('junit-version') + } + + test { + useJUnitPlatform() + } + } +} diff --git a/cnf/.project b/cnf/.project new file mode 100644 index 0000000..1397bbe --- /dev/null +++ b/cnf/.project @@ -0,0 +1,11 @@ + + + cnf + + + + + + + + diff --git a/cnf/build.bnd b/cnf/build.bnd new file mode 100644 index 0000000..c9ab8e7 --- /dev/null +++ b/cnf/build.bnd @@ -0,0 +1,13 @@ +# +# Use this file to customize the bnd workspace +# + +# Default build features (will be enabled for all projects in the workspace) +-buildfeatures: base + +# Repository for project specific additional dependencies (using project-deps.maven ) +-plugin.ProjectDependencies: \ + aQute.bnd.repository.maven.provider.MavenBndRepository; \ + releaseUrl=${amdatu-blueprint-maven-releaseUrls}; \ + index=${build}/project-deps.maven; \ + name=Project dependencies diff --git a/cnf/ext/blueprint-features.bnd b/cnf/ext/blueprint-features.bnd new file mode 100644 index 0000000..0b78167 --- /dev/null +++ b/cnf/ext/blueprint-features.bnd @@ -0,0 +1,15 @@ +-include: \ + ../features/blueprint/Dania/base.bnd,\ + ../features/blueprint/Dania/blobstores.bnd,\ + ../features/blueprint/Dania/config.bnd,\ + ../features/blueprint/Dania/email.bnd,\ + ../features/blueprint/Dania/java11.bnd,\ + ../features/blueprint/Dania/mongodb.bnd,\ + ../features/blueprint/Dania/poi.bnd,\ + ../features/blueprint/Dania/scheduling.bnd,\ + ../features/blueprint/Dania/security.bnd,\ + ../features/blueprint/Dania/shell.bnd,\ + ../features/blueprint/Dania/template.bnd,\ + ../features/blueprint/Dania/testing.bnd,\ + ../features/blueprint/Dania/validator.bnd,\ + ../features/blueprint/Dania/web.bnd diff --git a/cnf/ext/blueprint.bnd b/cnf/ext/blueprint.bnd new file mode 100644 index 0000000..6c8cdd4 --- /dev/null +++ b/cnf/ext/blueprint.bnd @@ -0,0 +1,58 @@ +# +# Dependency versions for dependencies used muptiple features +com-fasterxml-jackson-core-version: 2.10.3 +com-fasterxml-jackson-datatype-version: 2.10.3 +com-fasterxml-jackson-jaxrs-version: 2.10.3 +commons-codec-version: 1.7 +commons-fileupload-version-version: 1.3.2 +commons-io-version-version: 2.5 +org-apache-httpcomponents-httpclient-osgi-version: 4.2.3 +org-apache-httpcomponents-httpcore-osgi-version: 4.2.3 +junit-version: 5.7.2 + +# +# Enable Apache Felix Dependency Manager annotation plugin +# +-pluginpath.dm: \ + ${build}/plugins/org.apache.felix.dependencymanager.annotation-5.0.1.jar + +-plugin.dm: \ + org.apache.felix.dm.annotation.plugin.bnd.AnnotationPlugin; \ + build-import-export-service=false; \ + add-require-capability=true + +# +# Create merged lists of build / run features so we can use these in the check +# whether a feature is enabled (example. <> ) +# +# This doesn't work without the intermediate *Merged variable as "(buildfeatures.*[]=base)" is not a +# valid LDAP filter +# +buildfeaturesMerged: ${-buildfeatures.*} +runfeaturesMerged: ${-runfeatures.*} + + +# Enable the base and config feature by default +-buildfeatures.blueprint-default: base +-runfeatures.blueprint-default: base, config + + +# +# Configure repositories for Amdatu Blueprint +# + +# Maven repo to be used +amdatu-blueprint-maven-releaseUrls: ${def;blueprint-maven-repo-url;https://repo1.maven.org/maven2/} + +-plugin.amdatu-blueprint-repos: \ + aQute.bnd.repository.osgi.OSGiRepository; \ + name='Amdatu Blueprint OSGi'; \ + poll.time=0; \ + locations="${blueprint-repo.*}" + +-plugin.amdatu-blueprint-maven: \ + aQute.bnd.repository.maven.pom.provider.BndPomRepository; \ + releaseUrls=${amdatu-blueprint-maven-releaseUrls}; \ + revision="${blueprint-deps.*}"; \ + transitive=false; \ + name='Amdatu Blueprint maven' diff --git a/cnf/features/blueprint/Dania/base.bnd b/cnf/features/blueprint/Dania/base.bnd new file mode 100644 index 0000000..cf4fd24 --- /dev/null +++ b/cnf/features/blueprint/Dania/base.bnd @@ -0,0 +1,83 @@ +# +# Amdatu Blueprint base feature +# +blueprint-feature.base: base +blueprint-deps.base: \ + org.apache.felix:org.apache.felix.configadmin:1.9.22,\ + org.apache.felix:org.apache.felix.dependencymanager.annotation:5.0.2,\ + org.apache.felix:org.apache.felix.dependencymanager.runtime:4.0.8,\ + org.apache.felix:org.apache.felix.dependencymanager:4.6.1,\ + org.apache.felix:org.apache.felix.eventadmin:1.6.2,\ + org.apache.felix:org.apache.felix.framework:7.0.1,\ + org.apache.felix:org.apache.felix.metatype:1.2.4,\ + org.ops4j.pax.logging:pax-logging-api:2.0.9,\ + org.ops4j.pax.logging:pax-logging-log4j2:2.0.9,\ + org.osgi:osgi.core:8.0.0,\ + org.osgi:org.osgi.service.cm:1.6.0,\ + org.osgi:org.osgi.service.event:1.4.0,\ + org.osgi:org.osgi.service.log:1.4.0,\ + org.osgi:org.osgi.service.metatype.annotations:1.4.0,\ + org.osgi:org.osgi.service.metatype:1.4.0,\ + org.osgi:osgi.annotation:6.0.1,\ + org.slf4j:slf4j-api:1.7.30 + +blueprint-deps.test: \ + biz.aQute.bnd:biz.aQute.launchpad:5.3.0,\ + net.bytebuddy:byte-buddy-agent:1.11.3,\ + net.bytebuddy:byte-buddy:1.11.3,\ + org.apache.servicemix.bundles:org.apache.servicemix.bundles.junit:4.12_1,\ + org.junit.jupiter:junit-jupiter-api:${junit-version},\ + org.junit.jupiter:junit-jupiter-params:${junit-version},\ + org.junit.platform:junit-platform-commons:1.7.2,\ + org.junit.platform:junit-platform-launcher:1.7.2,\ + org.junit.vintage:junit-vintage-engine:${junit-version},\ + org.mockito:mockito-core:3.11.2,\ + org.objenesis:objenesis:3.2,\ + org.opentest4j:opentest4j:1.2.0 + +# +# Build +# +-buildpath.blueprint-base: \ + ${if;(buildfeaturesMerged[]=base); \ + org.apache.felix.dependencymanager,\ + org.apache.felix.dependencymanager.annotation,\ + org.osgi.service.cm,\ + org.osgi.service.event,\ + org.osgi.service.metatype,\ + org.osgi.service.metatype.annotations,\ + org.osgi.service.log,\ + osgi.annotation,\ + osgi.core,\ + slf4j.api\ + } + +-testpath.blueprint-base: \ + ${if;(buildfeaturesMerged[]=base); \ + biz.aQute.launchpad,\ + org.apache.servicemix.bundles.junit,\ + junit-platform-launcher,\ + junit-platform-commons,\ + junit-jupiter-api,\ + junit-jupiter-params,\ + junit-vintage-engine,\ + org.mockito.mockito-core,\ + org.objenesis,\ + net.bytebuddy.byte-buddy,\ + net.bytebuddy.byte-buddy-agent,\ + org.opentest4j\ + } + +# +# Run +# +-runbundles.blueprint-base: \ + ${if;(runfeaturesMerged[]=base); \ + org.apache.felix.dependencymanager.runtime,\ + org.apache.felix.dependencymanager,\ + org.apache.felix.configadmin,\ + org.apache.felix.eventadmin,\ + org.apache.felix.metatype,\ + org.ops4j.pax.logging.pax-logging-api,\ + org.ops4j.pax.logging.pax-logging-log4j2\ + } diff --git a/cnf/features/blueprint/Dania/blobstores.bnd b/cnf/features/blueprint/Dania/blobstores.bnd new file mode 100644 index 0000000..43ee559 --- /dev/null +++ b/cnf/features/blueprint/Dania/blobstores.bnd @@ -0,0 +1,21 @@ +# +# Amdatu Blueprint blobstores feature +# +blueprint-feature.blobstores: blobstores +blueprint-repo.blobstores: https://repository.amdatu.org/amdatu-blobstores/r7/repo/index.xml.gz + +# +# Build +# +-buildpath.blueprint-blobstores: \ + ${if;(buildfeaturesMerged[]=blobstores); \ + org.amdatu.blobstores\ + } + +# +# Run +# +-runbundles.blueprint-blobstores: \ + ${if;(runfeaturesMerged[]=blobstores); \ + org.amdatu.blobstores\ + } diff --git a/cnf/features/blueprint/Dania/config.bnd b/cnf/features/blueprint/Dania/config.bnd new file mode 100644 index 0000000..1d456d1 --- /dev/null +++ b/cnf/features/blueprint/Dania/config.bnd @@ -0,0 +1,48 @@ +# +# Amdatu Blueprint config feature +# +blueprint-feature.config: config +blueprint-repo.config: https://repository.amdatu.org/amdatu-configurator/r5/repo/index.xml.gz + +blueprint-deps.config: \ + org.osgi:org.osgi.service.configurator:1.0.0,\ + org.osgi:org.osgi.util.function:1.1.0,\ + org.apache.felix:org.apache.felix.converter:1.0.14,\ + org.apache.sling:org.apache.sling.commons.johnzon:1.2.2,\ + org.apache.felix:org.apache.felix.configurator:1.0.10,\ + org.apache.felix:org.apache.felix.configadmin.plugin.interpolation:1.1.0 + +# +# Build +# +-buildpath.blueprint-config: \ + ${if;(buildfeaturesMerged[]=config); \ + org.osgi.service.configurator,\ + org.amdatu.configurator.configurationbuilder\ + } + +# +# Run +# +-runbundles.blueprint-config: \ + ${if;(runfeaturesMerged[]=config); \ + org.amdatu.configurator.autoconf,\ + org.amdatu.configurator.configurationbuilder,\ + org.amdatu.configurator.properties,\ + org.osgi.util.function,\ + org.apache.felix.configadmin.plugin.interpolation,\ + org.apache.felix.configurator,\ + org.apache.sling.commons.johnzon,\ + org.apache.felix.converter\ + } + +# Add shell support for configurator if config and shell feature are both enabled +-runbundles.blueprint-config-shell: \ + ${if;(&(runfeaturesMerged[]=config)(runfeaturesMerged[]=shell)); \ + org.amdatu.configurator.shell\ + } + +-runproperties.blueprint-config: \ + ${if;(runfeaturesMerged[]=config); \ + felix.cm.config.plugins=org.apache.felix.configadmin.plugin.interpolation\ + } \ No newline at end of file diff --git a/cnf/features/blueprint/Dania/email.bnd b/cnf/features/blueprint/Dania/email.bnd new file mode 100644 index 0000000..2ceda0c --- /dev/null +++ b/cnf/features/blueprint/Dania/email.bnd @@ -0,0 +1,87 @@ +# +# Amdatu Blueprint email feature +# +blueprint-feature.email: email +blueprint-repo.email: https://repository.amdatu.org/amdatu-email/r6/repo/index.xml.gz +blueprint-deps.email: \ + com.fasterxml.jackson.core:jackson-annotations:${com-fasterxml-jackson-core-version},\ + com.fasterxml.jackson.core:jackson-core:${com-fasterxml-jackson-core-version},\ + com.fasterxml.jackson.core:jackson-databind:${com-fasterxml-jackson-core-version},\ + commons-codec:commons-codec:${commons-codec-version},\ + org.apache.httpcomponents:httpclient-osgi:${org-apache-httpcomponents-httpclient-osgi-version},\ + org.apache.httpcomponents:httpcore-osgi:${org-apache-httpcomponents-httpcore-osgi-version} + +# +# Build +# +-buildpath.blueprint-email: \ + ${if;(buildfeaturesMerged[]=email); \ + org.amdatu.email.api\ + } + +# +# Run +# +-runbundles.blueprint-email: \ + ${if;(runfeaturesMerged[]=email); \ + org.amdatu.email.impl\ + } + +# Select transport based on 'email-transport' value defaults to 'mock' +blueprint-email-transport: ${def;email-transport;mock} + +# AWS Transport +-runbundles.blueprint-email-aws: \ + ${if;(&(runfeaturesMerged[]=email)(blueprint-email-transport[]=aws)); \ + com.fasterxml.jackson.core.jackson-annotations,\ + com.fasterxml.jackson.core.jackson-core,\ + com.fasterxml.jackson.core.jackson-databind,\ + org.amdatu.email.aws,\ + org.apache.commons.codec,\ + org.apache.httpcomponents.httpcore,\ + org.apache.httpcomponents.httpclient\ + } + +-runsystempackages.blueprint-email-aws: \ + ${if;(&(runfeaturesMerged[]=email)(blueprint-email-transport[]=aws)); \ + javax.mail,\ + javax.mail.internet,\ + javax.crypto,\ + javax.net.ssl,\ + javax.crypto.spec,\ + javax.swing,\ + javax.xml.bind,\ + javax.xml.datatype,\ + javax.security.auth.x500,\ + javax.swing.border,\ + org.ietf.jgss,\ + javax.xml.namespace,\ + javax.swing.event,\ + javax.swing.tree,\ + javax.xml.parsers,\ + javax.xml.stream,\ + javax.xml.stream.events,\ + javax.xml.xpath,\ + org.w3c.dom,\ + org.w3c.dom.bootstrap,\ + org.w3c.dom.ls,\ + org.xml.sax,\ + org.xml.sax.helpers\ + } + +# Mock Transport +-runbundles.blueprint-email-mock: \ + ${if;(&(runfeaturesMerged[]=email)(blueprint-email-transport[]=mock)); \ + org.amdatu.email.mock\ + } + +# SMTP Transport +-runbundles.blueprint-email-smtp: \ + ${if;(&(runfeaturesMerged[]=email)(blueprint-email-transport[]=smtp)); \ + org.amdatu.email.smtp\ + } + +-runsystempackages.blueprint-email-smtp: \ + ${if;(&(runfeaturesMerged[]=email)(blueprint-email-transport[]=smtp)); \ + sun.security.util\ + } \ No newline at end of file diff --git a/cnf/features/blueprint/Dania/java11.bnd b/cnf/features/blueprint/Dania/java11.bnd new file mode 100644 index 0000000..fc80fc0 --- /dev/null +++ b/cnf/features/blueprint/Dania/java11.bnd @@ -0,0 +1,30 @@ +# +# Java 11 feature +# +blueprint-feature.java11: java11 +blueprint-deps.java11: \ + javax.annotation:javax.annotation-api:1.3.2,\ + com.sun.activation:javax.activation:1.2.0,\ + javax.xml.bind:jaxb-api:2.4.0-b180830.0359,\ + com.sun.xml.bind:jaxb-osgi:2.4.0-b180830.0438,\ + com.sun.xml.bind:jaxb-core:2.3.0.1,\ + com.sun.xml.bind:jaxb-impl:2.3.1 + +-testpath.java11: \ + com.sun.xml.bind.jaxb-core,\ + com.sun.xml.bind.jaxb-impl + +-runbundles.java11: \ + ${if;(runfeaturesMerged[]=java11); \ + javax.annotation-api,\ + com.sun.activation.javax.activation,\ + com.sun.xml.bind.jaxb-osgi,\ + jaxb-api \ + } + +-runvm.java11: \ + ${if;(runfeaturesMerged[]=java11); \ + --add-opens=java.base/java.lang=ALL-UNNAMED, \ + --add-opens=java.base/java.net=ALL-UNNAMED, \ + --add-opens=java.base/java.security=ALL-UNNAMED \ + } diff --git a/cnf/features/blueprint/Dania/mongodb.bnd b/cnf/features/blueprint/Dania/mongodb.bnd new file mode 100644 index 0000000..57d4045 --- /dev/null +++ b/cnf/features/blueprint/Dania/mongodb.bnd @@ -0,0 +1,51 @@ +# +# Amdatu Blueprint mongodb feature +# +blueprint-feature.mongodb: mongodb +blueprint-repo.mongodb: https://repository.amdatu.org/amdatu-mongodb/r11/repo/index.xml.gz +blueprint-deps.mongodb: \ + com.fasterxml.jackson.core:jackson-annotations:${com-fasterxml-jackson-core-version},\ + com.fasterxml.jackson.core:jackson-core:${com-fasterxml-jackson-core-version},\ + com.fasterxml.jackson.core:jackson-databind:${com-fasterxml-jackson-core-version},\ + de.undercouch:bson4jackson:2.7.0,\ + org.mongodb:mongodb-driver-sync:4.1.1,\ + org.mongodb:mongodb-driver-core:4.1.1,\ + org.mongodb:bson:4.1.1 + +# +# Build +# +-buildpath.blueprint-mongodb: \ + ${if;(buildfeaturesMerged[]=mongodb); \ + org.amdatu.mongo,\ + org.mongodb.driver-sync,\ + org.mongodb.driver-core,\ + org.mongodb.bson\ + } + +# Add testing support for mongodb if mongodb and testing feature are both enabled +-buildpath.blueprint-mongodb-testing: \ + ${if;(&(buildfeaturesMerged[]=mongodb)(buildfeaturesMerged[]=testing)); \ + org.amdatu.mongo.testing\ + } + +# +# Run +# +-runbundles.blueprint-mongodb: \ + ${if;(runfeaturesMerged[]=mongodb); \ + com.fasterxml.jackson.core.jackson-annotations,\ + com.fasterxml.jackson.core.jackson-core,\ + com.fasterxml.jackson.core.jackson-databind,\ + de.undercouch.bson4jackson,\ + org.amdatu.mongo,\ + org.mongodb.driver-sync,\ + org.mongodb.driver-core,\ + org.mongodb.bson\ + } + +# Add testing support for mongodb if mongodb and testing feature are both enabled +-runbundles.blueprint-mongodb-testing: \ + ${if;(&(runfeaturesMerged[]=mongodb)(runfeaturesMerged[]=testing)); \ + org.amdatu.mongo.testing\ + } diff --git a/cnf/features/blueprint/Dania/poi.bnd b/cnf/features/blueprint/Dania/poi.bnd new file mode 100644 index 0000000..916c9ff --- /dev/null +++ b/cnf/features/blueprint/Dania/poi.bnd @@ -0,0 +1,42 @@ +# +# Amdatu Blueprint Apache POI feature +# +blueprint-feature.apache-poi: apache-poi +blueprint-deps.apache-poi: \ + org.apache.servicemix.bundles:org.apache.servicemix.bundles.xmlresolver:1.2_5,\ + org.apache.commons:commons-collections4:4.4,\ + org.apache.commons:commons-math3:3.6.1,\ + org.apache.commons:commons-compress:1.19,\ + org.apache.servicemix.bundles:org.apache.servicemix.bundles.poi:4.1.0_1,\ + org.apache.servicemix.bundles:org.apache.servicemix.bundles.xmlbeans:3.1.0_1,\ + org.apache.servicemix.bundles:org.apache.servicemix.bundles.saxon:9.9.1-5_1 +# +# Build +# +-buildpath.apache-poi: \ + ${if;(buildfeaturesMerged[]=apache-poi); \ + org.apache.servicemix.bundles.poi\ + } +# +# Run +# +-runbundles.apache-poi: \ + ${if;(runfeaturesMerged[]=apache-poi); \ + org.apache.servicemix.bundles.poi,\ + org.apache.servicemix.bundles.saxon,\ + org.apache.servicemix.bundles.xmlbeans,\ + org.apache.servicemix.bundles.xmlresolver,\ + org.apache.commons.commons-collections4,\ + org.apache.commons.math3,\ + org.apache.commons.commons-compress\ + } + +-testpath.apache-poi: \ + ${if;(buildfeaturesMerged[]=apache-poi); \ + org.apache.servicemix.bundles.saxon,\ + org.apache.servicemix.bundles.xmlbeans,\ + org.apache.servicemix.bundles.xmlresolver,\ + org.apache.commons.commons-collections4,\ + org.apache.commons.math3,\ + org.apache.commons.commons-compress\ + } \ No newline at end of file diff --git a/cnf/features/blueprint/Dania/scheduling.bnd b/cnf/features/blueprint/Dania/scheduling.bnd new file mode 100644 index 0000000..178bf92 --- /dev/null +++ b/cnf/features/blueprint/Dania/scheduling.bnd @@ -0,0 +1,37 @@ +# +# Amdatu Blueprint scheduling feature +# +blueprint-feature.scheduling: scheduling +blueprint-repo.scheduling: https://repository.amdatu.org/amdatu-scheduling/r7/repo/index.xml.gz +blueprint-deps.scheduling-java11: \ + javax.transaction:javax.transaction-api:1.3,\ + javax.enterprise:cdi-api:2.0.SP1,\ + javax.el:javax.el-api:3.0.0,\ + javax.inject:javax.inject:1,\ + javax.interceptor:javax.interceptor-api:1.2,\ + +# +# Build +# +-buildpath.blueprint-scheduling: \ + ${if;(buildfeaturesMerged[]=scheduling); \ + org.amdatu.scheduling.api\ + } + +# +# Run +# +-runbundles.blueprint-scheduling: \ + ${if;(runfeaturesMerged[]=scheduling); \ + org.amdatu.scheduling.api,\ + org.amdatu.scheduling.quartz\ + } + +-runbundles.blueprint-scheduling-java11: \ + ${if;(&(runfeaturesMerged[]=scheduling)(runfeaturesMerged[]=java11)); \ + javax.transaction-api,\ + javax.enterprise.cdi-api,\ + javax.el-api,\ + javax.inject:javax.inject,\ + javax.interceptor-api\ + } \ No newline at end of file diff --git a/cnf/features/blueprint/Dania/security.bnd b/cnf/features/blueprint/Dania/security.bnd new file mode 100644 index 0000000..17ab684 --- /dev/null +++ b/cnf/features/blueprint/Dania/security.bnd @@ -0,0 +1,46 @@ +# +# Amdatu Blueprint security feature +# +blueprint-feature.security: security +blueprint-repo.security: https://repository.amdatu.org/amdatu-security/r17/repo/index.xml.gz + +# +# Build +# +-buildpath.blueprint-security: \ + ${if;(buildfeaturesMerged[]=security); \ + org.amdatu.security.authentication.authservice.api,\ + org.amdatu.security.authentication.idprovider.api,\ + org.amdatu.security.password.hash.api,\ + org.amdatu.security.password.util,\ + org.amdatu.security.tokenprovider.api,\ + org.amdatu.security.authorization.api,\ + org.amdatu.security.authorization.rest.api\ + } + +-buildpath.blueprint-security-account-admin: \ + ${if;(buildfeaturesMerged[]=security-account-admin); \ + org.amdatu.security.account.admin.api\ + } + +# +# Run +# +-runbundles.blueprint-security: \ + ${if;(runfeaturesMerged[]=security); \ + org.amdatu.security.authentication.authservice.rest,\ + org.amdatu.security.authentication.idprovider.local,\ + org.amdatu.security.authentication.idprovider.openidconnect,\ + org.amdatu.security.password.hash.pbkdf2,\ + org.amdatu.security.password.util,\ + org.amdatu.security.tokenprovider.http,\ + org.amdatu.security.tokenprovider.jwt,\ + org.amdatu.security.authorization.impl,\ + org.amdatu.security.authorization.rest.impl\ + } + +-runbundles.blueprint-security-account-admin: \ + ${if;(runfeaturesMerged[]=security-account-admin); \ + org.amdatu.security.account.admin,\ + org.amdatu.security.account.admin.rest\ + } diff --git a/cnf/features/blueprint/Dania/shell.bnd b/cnf/features/blueprint/Dania/shell.bnd new file mode 100644 index 0000000..b292a68 --- /dev/null +++ b/cnf/features/blueprint/Dania/shell.bnd @@ -0,0 +1,28 @@ +# +# Amdatu Blueprint shell feature +# +blueprint-feature.shell: shell +blueprint-deps.shell: \ + org.apache.felix:org.apache.felix.dependencymanager.shell:4.0.9,\ + org.apache.felix:org.apache.felix.gogo.command:1.1.2,\ + org.apache.felix:org.apache.felix.gogo.runtime:1.1.4,\ + org.apache.felix:org.apache.felix.gogo.shell:1.1.4 + +# +# Build +# +-buildpath.blueprint-shell: \ + ${if;(buildfeaturesMerged[]=shell); \ + org.apache.felix.gogo.runtime\ + } + +# +# Run +# +-runbundles.blueprint-shell: \ + ${if;(runfeaturesMerged[]=shell); \ + org.apache.felix.dependencymanager.shell,\ + org.apache.felix.gogo.command,\ + org.apache.felix.gogo.runtime,\ + org.apache.felix.gogo.shell\ + } diff --git a/cnf/features/blueprint/Dania/template.bnd b/cnf/features/blueprint/Dania/template.bnd new file mode 100644 index 0000000..0cfbfbc --- /dev/null +++ b/cnf/features/blueprint/Dania/template.bnd @@ -0,0 +1,21 @@ +# +# Amdatu Blueprint template feature +# +blueprint-feature.template: template +blueprint-repo.template: https://repository.amdatu.org/amdatu-template/r3/repo/index.xml.gz + +# +# Build +# +-buildpath.blueprint-template: \ + ${if;(buildfeaturesMerged[]=template); \ + org.amdatu.template\ + } + +# +# Run +# +-runbundles.blueprint-template: \ + ${if;(runfeaturesMerged[]=template); \ + org.amdatu.template\ + } \ No newline at end of file diff --git a/cnf/features/blueprint/Dania/testing.bnd b/cnf/features/blueprint/Dania/testing.bnd new file mode 100644 index 0000000..3a6cad6 --- /dev/null +++ b/cnf/features/blueprint/Dania/testing.bnd @@ -0,0 +1,39 @@ +# +# Amdatu Blueprint testing feature +# +blueprint-feature.testing: testing +blueprint-repo.testing: https://repository.amdatu.org/amdatu-testing/r11/repo/index.xml.gz + +# +# Build +# +# Junit and mockito are added to the testpath in the base feature, add them to the buildpath +# when the testing run feature is enabled to allow using these dependencies from the src folder. +-buildpath.blueprint-testing: \ + ${if;(|(buildfeaturesMerged[]=testing)(runfeaturesMerged[]=testing)); \ + org.amdatu.testing.configurator,\ + org.apache.servicemix.bundles.junit,\ + org.mockito.mockito-core,\ + org.objenesis,\ + net.bytebuddy.byte-buddy,\ + net.bytebuddy.byte-buddy-agent\ + } + +# +# Run +# +-runbundles.blueprint-testing: \ + ${if;(runfeaturesMerged[]=testing); \ + org.amdatu.testing.configurator,\ + org.apache.servicemix.bundles.junit,\ + org.mockito.mockito-core,\ + org.objenesis,\ + net.bytebuddy.byte-buddy,\ + net.bytebuddy.byte-buddy-agent\ + } + +-runsystempackages.blueprint-testing: \ + ${if;(runfeaturesMerged[]=testing); \ + sun.misc,\ + sun.reflect\ + } diff --git a/cnf/features/blueprint/Dania/validator.bnd b/cnf/features/blueprint/Dania/validator.bnd new file mode 100644 index 0000000..2c81108 --- /dev/null +++ b/cnf/features/blueprint/Dania/validator.bnd @@ -0,0 +1,37 @@ +# +# Amdatu Blueprint validator feature +# +blueprint-feature.validator: validator +blueprint-repo.validator: https://repository.amdatu.org/amdatu-validator/r7/repo/index.xml.gz +blueprint-deps.validator: \ + javax.validation:validation-api:2.0.1.Final,\ + org.hibernate.validator:hibernate-validator:6.1.5.Final,\ + jakarta.validation:jakarta.validation-api:2.0.2,\ + org.jboss.logging:jboss-logging:3.3.2.Final,\ + com.fasterxml:classmate:1.3.4,\ + org.glassfish:jakarta.el:3.0.3,\ + org.jsoup:jsoup:1.11.2 + +# +# Build +# +-buildpath.blueprint-validator: \ + ${if;(buildfeaturesMerged[]=validator); \ + javax.validation.api,\ + org.hibernate.validator,\ + org.amdatu.validator\ + } + +# +# Run +# +-runbundles.blueprint-validator: \ + ${if;(runfeaturesMerged[]=validator); \ + javax.validation.api,\ + org.jsoup,\ + org.hibernate.validator,\ + jakarta.validation.jakarta.validation-api,\ + com.fasterxml.classmate,\ + com.sun.el.javax.el,\ + org.amdatu.validator\ + } diff --git a/cnf/features/blueprint/Dania/web.bnd b/cnf/features/blueprint/Dania/web.bnd new file mode 100644 index 0000000..843c934 --- /dev/null +++ b/cnf/features/blueprint/Dania/web.bnd @@ -0,0 +1,89 @@ +# +# Amdatu Blueprint web feature +# +blueprint-feature.web: web +blueprint-repo.web: https://repository.amdatu.org/amdatu-web/r24/repo/index.xml.gz +blueprint-deps.web: \ + com.fasterxml.jackson.core:jackson-annotations:${com-fasterxml-jackson-core-version},\ + com.fasterxml.jackson.core:jackson-core:${com-fasterxml-jackson-core-version},\ + com.fasterxml.jackson.core:jackson-databind:${com-fasterxml-jackson-core-version},\ + com.fasterxml.jackson.datatype:jackson-datatype-jdk8:${com-fasterxml-jackson-datatype-version},\ + com.fasterxml.jackson.datatype:jackson-datatype-jsr310:${com-fasterxml-jackson-datatype-version},\ + com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:${com-fasterxml-jackson-jaxrs-version},\ + com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:${com-fasterxml-jackson-jaxrs-version},\ + commons-fileupload:commons-fileupload:${commons-fileupload-version-version},\ + commons-io:commons-io:${commons-io-version-version},\ + javax.websocket:javax.websocket-api:1.0,\ + org.osgi:org.osgi.service.http.whiteboard:1.1.0,\ + org.osgi:org.osgi.service.http:1.2.1,\ + org.apache.felix:org.apache.felix.http.jetty:4.0.18,\ + org.apache.felix:org.apache.felix.http.servlet-api:1.1.2,\ + org.apache.httpcomponents:httpclient-osgi:${org-apache-httpcomponents-httpclient-osgi-version},\ + org.apache.httpcomponents:httpcore-osgi:${org-apache-httpcomponents-httpcore-osgi-version},\ + org.eclipse.jetty.websocket:javax-websocket-server-impl:9.4.28.v20200408,\ + org.eclipse.jetty.websocket:javax-websocket-client-impl:9.4.28.v20200408 + +# +# Build +# +-buildpath.blueprint-web: \ + ${if;(buildfeaturesMerged[]=web); \ + com.fasterxml.jackson.core.jackson-annotations,\ + com.fasterxml.jackson.core.jackson-core,\ + com.fasterxml.jackson.core.jackson-databind,\ + com.fasterxml.jackson.jaxrs.jackson-jaxrs-base,\ + com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider,\ + javax.websocket-api,\ + org.amdatu.web.rest.doc,\ + org.amdatu.web.rest.jaxrs,\ + org.amdatu.web.websocket.api,\ + org.apache.felix.http.servlet-api,\ + org.osgi.service.http.whiteboard,\ + org.osgi.service.http\ + } + +# Add testing support for web if web and testing feature are both enabled +-buildpath.blueprint-web-testing: \ + ${if;(&(buildfeaturesMerged[]=web)(buildfeaturesMerged[]=testing)); \ + org.amdatu.web.testing.http,\ + org.amdatu.web.testing.jaxrs\ + } + +# +# Run +# +-runbundles.blueprint-web: \ + ${if;(runfeaturesMerged[]=web); \ + com.fasterxml.jackson.core.jackson-annotations,\ + com.fasterxml.jackson.core.jackson-core,\ + com.fasterxml.jackson.core.jackson-databind,\ + com.fasterxml.jackson.jaxrs.jackson-jaxrs-base,\ + com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider,\ + javax.websocket-api,\ + org.eclipse.jetty.websocket.javax.websocket,\ + org.eclipse.jetty.websocket.javax.websocket.server,\ + org.apache.commons.fileupload,\ + org.apache.commons.io,\ + org.apache.felix.http.jetty,\ + org.apache.felix.http.servlet-api,\ + org.amdatu.web.filters,\ + org.amdatu.web.rest.doc,\ + org.amdatu.web.rest.doc.swagger,\ + org.amdatu.web.rest.doc.swagger.ui,\ + org.amdatu.web.rest.resteasy,\ + org.amdatu.web.websocket.api,\ + org.amdatu.web.websocket.impl\ + } + +# Add testing support for web if web and testing feature are both enabled +-runbundles.blueprint-web-testing: \ + ${if;(&(runfeaturesMerged[]=web)(runfeaturesMerged[]=testing)); \ + org.amdatu.web.testing.http,\ + org.amdatu.web.testing.jaxrs\ + } + +# Add shell commands for web if web and shell feature are both enabled +-runbundles.blueprint-web-shell: \ + ${if;(&(runfeaturesMerged[]=web)(runfeaturesMerged[]=shell)); \ + org.amdatu.web.rest.shell\ + } diff --git a/cnf/plugins/org.apache.felix.dependencymanager.annotation-5.0.1.jar b/cnf/plugins/org.apache.felix.dependencymanager.annotation-5.0.1.jar new file mode 100644 index 0000000..26f32a6 Binary files /dev/null and b/cnf/plugins/org.apache.felix.dependencymanager.annotation-5.0.1.jar differ diff --git a/cnf/project-deps.maven b/cnf/project-deps.maven new file mode 100644 index 0000000..4ed4411 --- /dev/null +++ b/cnf/project-deps.maven @@ -0,0 +1,6 @@ +# +# Index file for the "Project dependencies" repository +# Use this file to add project specific dependencies to the workspace. +# +# See: http://bnd.bndtools.org/plugins/maven.html for more info on the file format +# diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..90bce2c --- /dev/null +++ b/gradle.properties @@ -0,0 +1,3 @@ +# BND version +bnd_version=5.3.0 +blueprint_gradle_version=1.0-DEV1810161629 \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..7454180 Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..69a9715 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.1-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100644 index 0000000..744e882 --- /dev/null +++ b/gradlew @@ -0,0 +1,185 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MSYS* | MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=`expr $i + 1` + done + case $i in + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..107acd3 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,89 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/runner/bnd.bnd b/runner/bnd.bnd new file mode 100644 index 0000000..c7790d9 --- /dev/null +++ b/runner/bnd.bnd @@ -0,0 +1 @@ +-nobundles: true \ No newline at end of file diff --git a/runner/conf/.gitignore b/runner/conf/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/runner/run.bndrun b/runner/run.bndrun new file mode 100644 index 0000000..c06ad93 --- /dev/null +++ b/runner/run.bndrun @@ -0,0 +1,8 @@ +-runfw: org.apache.felix.framework + +-runfeatures: shell +-runbundles: \ + MyFirstBundle;version=latest + +-runproperties: \ + org.ops4j.pax.logging.DefaultServiceLog.level=WARN \ No newline at end of file diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..b866fb1 --- /dev/null +++ b/settings.gradle @@ -0,0 +1,16 @@ +buildscript { + repositories { + mavenCentral() + maven { + url "https://plugins.gradle.org/m2/" + } + } + dependencies { + classpath "biz.aQute.bnd:biz.aQute.bnd.gradle:${bnd_version}" + classpath "gradle.plugin.org.amdatu.blueprint:org.amdatu.blueprint.gradle:${blueprint_gradle_version}" + } +} + + +apply plugin: 'biz.aQute.bnd.workspace' +apply plugin: "org.amdatu.blueprint"