This is an automated email from the ASF dual-hosted git repository. cziegeler pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/sling-whiteboard.git
The following commit(s) were added to refs/heads/master by this push: new 7e01f864 Experimental mini feature 7e01f864 is described below commit 7e01f86473b5fe36dd727a8e1e582c073c25bf31 Author: Carsten Ziegeler <cziege...@apache.org> AuthorDate: Wed Dec 27 15:54:42 2023 +0100 Experimental mini feature --- sling-mini/.gitignore | 13 ++ sling-mini/README.md | 4 + sling-mini/pom.xml | 165 +++++++++++++++++++++ sling-mini/src/main/features/addons/sightly.json | 48 ++++++ .../src/main/features/addons/webconsole.json | 40 +++++ sling-mini/src/main/features/app.json | 34 +++++ sling-mini/src/main/features/base.json | 74 +++++++++ .../src/main/features/deployments/offline.json | 14 ++ sling-mini/src/main/features/deployments/web.json | 12 ++ sling-mini/src/main/features/sling.json | 76 ++++++++++ 10 files changed, 480 insertions(+) diff --git a/sling-mini/.gitignore b/sling-mini/.gitignore new file mode 100755 index 00000000..a4c76f1c --- /dev/null +++ b/sling-mini/.gitignore @@ -0,0 +1,13 @@ +.vscode +target/ +pom.xml.tag +pom.xml.releaseBackup +pom.xml.versionsBackup +pom.xml.next +release.properties +dependency-reduced-pom.xml +buildNumber.properties +.mvn/timing.properties +.project +.classpath +.settings/ diff --git a/sling-mini/README.md b/sling-mini/README.md new file mode 100755 index 00000000..cd87a78c --- /dev/null +++ b/sling-mini/README.md @@ -0,0 +1,4 @@ +# Minimal Version of Apache Sling + +This is a minimal version of Apache Sling only containing the basic functionality. + diff --git a/sling-mini/pom.xml b/sling-mini/pom.xml new file mode 100644 index 00000000..d7830718 --- /dev/null +++ b/sling-mini/pom.xml @@ -0,0 +1,165 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more contributor license + agreements. See the NOTICE file distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file to you 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 http://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. +--> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.sling</groupId> + <artifactId>sling</artifactId> + <version>52</version> + <relativePath /> + </parent> + + <artifactId>org.apache.sling.starter.minimal</artifactId> + <version>0.0.1-SNAPSHOT</version> + <name>Apache Sling Minimal Starter</name> + <description>A minimal starter for Apache Sling</description> + + <packaging>slingosgifeature</packaging> + + <properties> + <sling.java.version>11</sling.java.version> + <launcher.version>1.3.0</launcher.version> + <port>8088</port> + <project.build.outputTimestamp>1</project.build.outputTimestamp> + <sourceDir>/tmp/docs</sourceDir> + <targetDir>/tmp/offliner</targetDir> + </properties> + + <build> + <plugins> + <plugin> + <groupId>org.apache.sling</groupId> + <artifactId>slingfeature-maven-plugin</artifactId> + <version>1.8.0</version> + <extensions>true</extensions> + <executions> + <execution> + <id>create-full</id> + <goals> + <goal>aggregate-features</goal> + </goals> + <configuration> + <aggregates> + <aggregate> + <filesInclude>*.json</filesInclude> + <filesInclude>deployments/web.json</filesInclude> + </aggregate> + <aggregate> + <classifier>offlineapp</classifier> + <filesInclude>*.json</filesInclude> + <filesInclude>addons/sightly.json</filesInclude> + <filesInclude>deployments/offline.json</filesInclude> + </aggregate> + <aggregate> + <classifier>fullwebapp</classifier> + <filesInclude>*.json</filesInclude> + <filesInclude>deployments/web.json</filesInclude> + <filesInclude>addons/webconsole.json</filesInclude> + <filesInclude>addons/sightly.json</filesInclude> + </aggregate> + </aggregates> + </configuration> + </execution> + <execution> + <id>analyze-features</id> + <goals> + <goal>analyse-features</goal> + </goals> + <configuration> + <framework> + <groupId>org.apache.felix</groupId> + <artifactId>org.apache.felix.framework</artifactId> + <version>7.0.5</version> + </framework> + <scans> + <scan> + <includeClassifier>:</includeClassifier> + <includeClassifier>offlineapp</includeClassifier> + <includeClassifier>fullwebapp</includeClassifier> + <includeTasks> + <includeTask>bundle-packages</includeTask> + <includeTask>api-regions-exportsimports</includeTask> + <includeTask>check-unused-bundles</includeTask> + </includeTasks> + </scan> + </scans> + </configuration> + </execution> + <execution> + <id>create-repository</id> + <goals> + <goal>repository</goal> + </goals> + </execution> + </executions> + <configuration> + <createReferenceFile>true</createReferenceFile> + <enableLegacyVariableReplacement>true</enableLegacyVariableReplacement> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <version>3.5.0</version> + <executions> + <execution> + <id>unpack</id> + <phase>package</phase> + <goals> + <goal>unpack</goal> + </goals> + <configuration> + <artifactItems> + <artifactItem> + <groupId>org.apache.sling</groupId> + <artifactId>org.apache.sling.feature.launcher</artifactId> + <version>${launcher.version}</version> + <type>zip</type> + </artifactItem> + </artifactItems> + <outputDirectory>target</outputDirectory> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>exec-maven-plugin</artifactId> + <version>1.5.0</version> + <executions> + <execution> + <goals> + <goal>exec</goal> + </goals> + </execution> + </executions> + <configuration> + <executable>${basedir}/target/org.apache.sling.feature.launcher-${launcher.version}/bin/launcher</executable> + <arguments> + <argument>-f</argument> + <argument>mvn:${project.groupId}/${project.artifactId}/${project.version}/slingosgifeature/offlineapp</argument> + <argument>-p</argument> + <argument>target/launcher</argument> + <argument>-c</argument> + <argument>target/launcher/cache</argument> + </arguments> + <environmentVariables> + <SOURCE_DIR>${sourceDir}</SOURCE_DIR> + <TARGET_DIR>${targetDir}</TARGET_DIR> + </environmentVariables> + </configuration> + </plugin> + </plugins> + </build> +</project> diff --git a/sling-mini/src/main/features/addons/sightly.json b/sling-mini/src/main/features/addons/sightly.json new file mode 100644 index 00000000..9a78a966 --- /dev/null +++ b/sling-mini/src/main/features/addons/sightly.json @@ -0,0 +1,48 @@ +{ + "bundles" : [ + { + "id":"org.codehaus.woodstox:stax2-api:4.2.2", + "start-order":"20" + }, + { + "id":"com.fasterxml.jackson.core:jackson-annotations:2.16.1", + "start-order":"20" + }, + { + "id":"com.fasterxml.jackson.core:jackson-core:2.16.1", + "start-order":"20" + }, + { + "id":"com.fasterxml.jackson.core:jackson-databind:2.16.1", + "start-order":"20" + }, + { + "id":"com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.16.1", + "start-order":"20" + }, + { + "id": "org.apache.commons:commons-text:1.11.0", + "start-order": "20" + }, + { + "id": "org.slf4j:jcl-over-slf4j:1.7.36", + "start-order": "1" + }, + { + "id": "org.slf4j:log4j-over-slf4j:1.7.36", + "start-order": "1" + }, + { + "id": "org.apache.sling:org.apache.sling.xss:2.4.1-SNAPSHOT", + "start-order": "20" + }, + { + "id": "org.apache.sling:org.apache.sling.scripting.sightly:1.4.23-1.4.0-SNAPSHOT", + "start-order": "20" + }, + { + "id": "org.apache.sling:org.apache.sling.scripting.sightly.runtime:1.2.6-1.4.0", + "start-order": "20" + } + ] +} diff --git a/sling-mini/src/main/features/addons/webconsole.json b/sling-mini/src/main/features/addons/webconsole.json new file mode 100644 index 00000000..6413bad5 --- /dev/null +++ b/sling-mini/src/main/features/addons/webconsole.json @@ -0,0 +1,40 @@ +{ + "bundles":[ + { + "id":"org.apache.felix:org.apache.felix.metatype:1.2.4", + "start-order":"10" + }, + { + "id":"org.apache.felix:org.apache.felix.inventory:2.0.0", + "start-order":"10" + }, + { + "id":"org.apache.felix:org.apache.felix.webconsole:4.9.6", + "start-order":"10" + }, + { + "id":"org.apache.felix:org.apache.felix.webconsole.plugins.ds:2.3.0", + "start-order":"10" + }, + { + "id":"org.apache.felix:org.apache.felix.webconsole.plugins.event:1.2.0", + "start-order":"10" + }, + { + "id":"org.apache.felix:org.apache.felix.webconsole.plugins.packageadmin:1.1.0", + "start-order":"10" + }, + { + "id":"org.apache.sling:org.apache.sling.commons.log.webconsole:1.0.0", + "start-order":"10" + }, + { + "id":"org.apache.felix:org.apache.felix.http.webconsoleplugin:1.1.0", + "start-order":"20" + }, + { + "id":"org.apache.felix:org.apache.felix.http.inventoryprinter:1.0.0", + "start-order":"20" + } + ] +} diff --git a/sling-mini/src/main/features/app.json b/sling-mini/src/main/features/app.json new file mode 100644 index 00000000..97283fb4 --- /dev/null +++ b/sling-mini/src/main/features/app.json @@ -0,0 +1,34 @@ +{ + "bundles":[ + { + "id":"org.jsoup:jsoup:1.16.1", + "start-order":"20" + }, + { + "id":"com.vladsch.flexmark:flexmark-osgi:0.64.8", + "start-order":"20" + }, + { + "id":"org.apache.sling:org.apache.sling.sfsresourceprovider:0.0.1-SNAPSHOT", + "start-order":"20" + }, + { + "id":"org.apache.sling:org.apache.sling.mdresourcedecorator:0.0.1-SNAPSHOT", + "start-order":"20" + } + ], + "configurations":{ + "org.apache.sling.sfsresource.impl.SFSResourceProvider~files":{ + "provider.root":"/content/docs", + "provider.file":"$[env:SOURCE_DIR;default=/tmp/docs]" + }, + "org.apache.sling.resource.MarkdownResourceDecorator~files":{ + "decoration.paths" : "/content/**.md", + "html.property":"", + "html.elements.property":"html-elements" + }, + "org.apache.sling.mdresource.impl.HtmlServlet":{ + "html.property":"html-elements" + } + } +} diff --git a/sling-mini/src/main/features/base.json b/sling-mini/src/main/features/base.json new file mode 100644 index 00000000..9e0b746d --- /dev/null +++ b/sling-mini/src/main/features/base.json @@ -0,0 +1,74 @@ +{ + "bundles":[ + { + "id":"org.osgi:org.osgi.util.function:1.2.0", + "start-order":"1" + }, + { + "id":"org.osgi:org.osgi.util.promise:1.3.0", + "start-order":"1" + }, + { + "id":"org.osgi:org.osgi.service.component:1.5.1", + "start-order":"1" + }, + { + "id":"org.osgi:org.osgi.util.converter:1.0.9", + "start-order":"1" + }, + { + "id":"org.apache.sling:org.apache.sling.commons.log:5.4.2", + "start-order":"1" + }, + { + "id":"org.apache.sling:org.apache.sling.commons.logservice:1.1.0", + "start-order":"1" + }, + { + "id":"org.apache.felix:org.apache.felix.log:1.3.0", + "start-order":"1" + }, + { + "id":"org.slf4j:slf4j-api:1.7.36", + "start-order":"1" + }, + { + "id":"org.apache.felix:org.apache.felix.configadmin:1.9.26", + "start-order":"1" + }, + { + "id":"org.apache.felix:org.apache.felix.configadmin.plugin.interpolation:1.2.8", + "start-order":"1" + }, + { + "id":"org.apache.felix:org.apache.felix.eventadmin:1.6.4", + "start-order":"1" + }, + { + "id":"org.apache.felix:org.apache.felix.http.servlet-api:2.1.0", + "start-order":"1" + }, + { + "id":"org.apache.felix:org.apache.felix.scr:2.2.6", + "start-order":"1" + }, + { + "id":"org.owasp.encoder:encoder:1.2.3", + "start-order":"1" + }, + { + "id":"org.apache.sling:org.apache.sling.commons.johnzon:2.0.0", + "start-order":"1" + } + ], + "execution-environment:JSON|false":{ + "framework":{ + "id":"org.apache.felix:org.apache.felix.framework:7.0.5" + } + }, + "framework-properties": { + "felix.cm.pm": "featurelauncher", + "org.osgi.framework.bootdelegation": "sun.*,com.sun.*,jdk.internal.reflect,jdk.internal.reflect.*", + "org.osgi.framework.bundle.parent":"app" + } +} diff --git a/sling-mini/src/main/features/deployments/offline.json b/sling-mini/src/main/features/deployments/offline.json new file mode 100644 index 00000000..7c3a6d51 --- /dev/null +++ b/sling-mini/src/main/features/deployments/offline.json @@ -0,0 +1,14 @@ +{ + "bundles": [ + { + "id":"org.apache.sling:org.apache.sling.offline:0.0.1-SNAPSHOT", + "start-order":"20" + } + ], + "configurations": { + "org.apache.sling.offline.impl.Starter":{ + "input.path":"/content/docs", + "output.path":"$[env:TARGET_DIR;default=/tmp/offliner]" + } + } +} diff --git a/sling-mini/src/main/features/deployments/web.json b/sling-mini/src/main/features/deployments/web.json new file mode 100644 index 00000000..4e18e5cf --- /dev/null +++ b/sling-mini/src/main/features/deployments/web.json @@ -0,0 +1,12 @@ +{ + "bundles": [ + { + "id":"org.apache.felix:org.apache.felix.http.jetty:5.1.6", + "start-order":"2" + }, + { + "id":"org.apache.sling:org.apache.sling.servlets.get:2.2.0", + "start-order":"20" + } + ] +} diff --git a/sling-mini/src/main/features/sling.json b/sling-mini/src/main/features/sling.json new file mode 100644 index 00000000..8b2e8f13 --- /dev/null +++ b/sling-mini/src/main/features/sling.json @@ -0,0 +1,76 @@ +{ + "bundles":[ + { + "id":"commons-fileupload:commons-fileupload:1.5", + "start-order":"1" + }, + { + "id":"commons-io:commons-io:2.13.0", + "start-order":"1" + }, + { + "id":"org.apache.commons:commons-lang3:3.14.0", + "start-order":"1" + }, + { + "id":"commons-codec:commons-codec:1.16.0", + "start-order":"20" + }, + { + "id":"org.apache.commons:commons-collections4:4.4", + "start-order":"20" + }, + { + "id":"org.apache.sling:org.apache.sling.api:2.27.2", + "start-order":"20" + }, + { + "id":"org.apache.sling:org.apache.sling.auth.core:1.7.0", + "start-order":"20" + }, + { + "id":"org.apache.sling:org.apache.sling.commons.mime:2.3.0", + "start-order":"20" + }, + { + "id":"org.apache.sling:org.apache.sling.serviceusermapper:1.5.8", + "start-order":"20" + }, + { + "id":"org.apache.sling:org.apache.sling.settings:1.4.2", + "start-order":"20" + }, + { + "id":"org.apache.sling:org.apache.sling.scripting.api:2.2.0", + "start-order":"20" + }, + { + "id":"org.apache.sling:org.apache.sling.scripting.core:2.4.9-SNAPSHOT", + "start-order":"20" + }, + { + "id":"org.apache.sling:org.apache.sling.scripting.spi:1.0.4", + "start-order":"20" + }, + { + "id":"org.apache.sling:org.apache.sling.engine:2.15.10", + "start-order":"20" + }, + { + "id":"org.apache.sling:org.apache.sling.resourceresolver:1.11.4", + "start-order":"20" + }, + { + "id":"org.apache.sling:org.apache.sling.servlets.resolver:2.10.0", + "start-order":"20" + } + ], + "configurations":{ + "org.apache.sling.jcr.resource.internal.JcrResourceResolverFactoryImpl":{ + "resource.resolver.required.providernames":"" + }, + "org.apache.sling.servlets.resolver.SlingServletResolver": { + "servletresolver.mountPathProviders": true + } + } +}