You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by dk...@apache.org on 2020/07/30 18:18:07 UTC
[sling-org-apache-sling-app-cms] branch
SLING-8913-multiple-instance-types updated (c49bc51 -> 1f38d3e)
This is an automated email from the ASF dual-hosted git repository.
dklco pushed a change to branch SLING-8913-multiple-instance-types
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git.
from c49bc51 Building the Composite NodeStore on build of the docker image
add 8f7adc8 Reducing logging on the edit include filter
new 0abd9a4 Updating to bring the PM closer to Sling 12
new 1795c27 Adding a POM to convert PM to FM
new c1b6527 Adding migrated Feature model files
new b172f73 Ignoring the launcher directory
new d3cc884 Using variables
new 37c207a Fixing an error with the whiteboard security load order
new 9cbf454 Updated file optim to 20 to resolve start order issue
new b32853b Updating the start order of several foundational libraries
new ee5c777 Moving codec and post up a level each
new 1f150bd Bumping up a few commons bundles:
new 923a859 Almost all bundle order issues resolved
new aed81c5 Fixed all bundle start ordering issues
new a31974a Adding current state on creating a standalone jar
new 4a515c8 Revising the module name and updating to embed feature launcher to enable launching the standalone JAR
new 9eee38b Simplify the conversion POM
new b7915fc Working on a composite node store solution
new c36b456 Building the Composite NodeStore on build of the docker image
new 1f38d3e Merge branch 'SLING-8913-multiple-instance-types' of github.com:apache/sling-org-apache-sling-app-cms into SLING-8913-multiple-instance-types
The 18 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../org/apache/sling/cms/core/internal/filters/EditIncludeFilter.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[sling-org-apache-sling-app-cms] 16/18: Working on a composite node
store solution
Posted by dk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
dklco pushed a commit to branch SLING-8913-multiple-instance-types
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git
commit b7915fce5f79bf5997d2d0197b2346b357b1b419
Author: Dan Klco <dk...@apache.org>
AuthorDate: Tue Jul 28 10:10:49 2020 -0400
Working on a composite node store solution
---
feature/pom.xml | 21 +++++++--
.../node-store-composite/composite-runtime.json | 54 ++++++++++++++++++++++
.../node-store-composite/composite-seed.json | 25 ++++++++++
.../main/features/node-store-segment/segment.json | 8 ++++
feature/src/main/features/oak_oak.json | 3 --
5 files changed, 104 insertions(+), 7 deletions(-)
diff --git a/feature/pom.xml b/feature/pom.xml
index 60f0191..59af970 100644
--- a/feature/pom.xml
+++ b/feature/pom.xml
@@ -74,20 +74,33 @@
</framework>
<aggregates>
<aggregate>
- <classifier>slingcms</classifier>
+ <classifier>slingcms-segment</classifier>
<filesInclude>**/*.json</filesInclude>
- <title>Sling CMS</title>
+ <filesExclude>node-store-composite/*.json</filesExclude>
+ <title>Sling CMS -</title>
+ </aggregate>
+ <aggregate>
+ <classifier>slingcms-composite-seed</classifier>
+ <filesInclude>**/*.json</filesInclude>
+ <filesExclude>node-store-composite/composite-runtime.json,node-store-segment/*.json</filesExclude>
+ <title>Sling CMS - Composite Node Store Seed</title>
+ </aggregate>
+ <aggregate>
+ <classifier>slingcms-composite-runtime</classifier>
+ <filesInclude>**/*.json</filesInclude>
+ <filesExclude>node-store-composite/composite-seed.json,node-store-segment/*.json</filesExclude>
+ <title>Sling CMS - Composite Node Store Runtime</title>
</aggregate>
</aggregates>
<scans>
<scan>
- <includeClassifier>slingcms</includeClassifier>
+ <includeClassifier>slingcms-segment,slingcms-composite-seed,slingcms-composite-runtime</includeClassifier>
</scan>
</scans>
<archives>
<archive>
<classifier>slingcms_far</classifier>
- <includeClassifier>slingcms</includeClassifier>
+ <includeClassifier>slingcms-segment</includeClassifier>
</archive>
</archives>
</configuration>
diff --git a/feature/src/main/features/node-store-composite/composite-runtime.json b/feature/src/main/features/node-store-composite/composite-runtime.json
new file mode 100644
index 0000000..b30683e
--- /dev/null
+++ b/feature/src/main/features/node-store-composite/composite-runtime.json
@@ -0,0 +1,54 @@
+{
+ "id": "org.apache.sling:org.apache.sling.cms.feature:slingfeature:composite-runtime:${cms.version}",
+ "configurations": {
+ "org.apache.jackrabbit.oak.segment.SegmentNodeStoreService": {
+ "name": "Default NodeStore",
+ "standby": true
+ },
+ "org.apache.jackrabbit.oak.composite.CompositeNodeStoreService": {
+ "seedMount": "libs",
+ "enabled": true,
+ "enableChecks": false,
+ "partialReadOnly": true
+ },
+ "org.apache.jackrabbit.oak.composite.CrossMountReferenceValidatorProvider": {
+ "failOnDetection": true
+ },
+ "org.apache.jackrabbit.oak.composite.MountInfoProviderService": {
+ "mountName": "libs",
+ "readOnlyMount": true,
+ "pathsSupportingFragments": [
+ "/oak:index/*$"
+ ],
+ "mountedPaths": [
+ "/libs",
+ "/apps",
+ "/jcr:system/rep:permissionStore/oak:mount-libs-default"
+ ]
+ },
+ "org.apache.jackrabbit.oak.composite.checks.NodeTypeMountedNodeStoreChecker~referenceable": {
+ "errorLabel": "referenceable node",
+ "invalidNodeType": "mix:referenceable",
+ "excludedNodeTypes": [
+ "nt:resource"
+ ]
+ },
+ "org.apache.jackrabbit.oak.composite.checks.NodeTypeMountedNodeStoreChecker~versionable": {
+ "errorLabel": "versionable node",
+ "invalidNodeType": "mix:versionable"
+ },
+ "org.apache.jackrabbit.oak.segment.SegmentNodeStoreFactory~libs": {
+ "role": "composite-mount-libs",
+ "customBlobStore": false,
+ "nodeDeduplicationCache.size": 0,
+ "repository.home": "sling/composite/repository-libs"
+ },
+ "org.apache.jackrabbit.oak.segment.SegmentNodeStoreFactory~global": {
+ "service.ranking": 100,
+ "role": "composite-global",
+ "registerDescriptors": true,
+ "dispatchChanges": true,
+ "repository.home": "sling/composite/repository-global"
+ }
+ }
+}
\ No newline at end of file
diff --git a/feature/src/main/features/node-store-composite/composite-seed.json b/feature/src/main/features/node-store-composite/composite-seed.json
new file mode 100644
index 0000000..914d66f
--- /dev/null
+++ b/feature/src/main/features/node-store-composite/composite-seed.json
@@ -0,0 +1,25 @@
+{
+ "id": "org.apache.sling:org.apache.sling.cms.feature:slingfeature:composite-seed:${cms.version}",
+ "configurations": {
+ "org.apache.jackrabbit.oak.segment.SegmentNodeStoreService": {
+ "name": "Default NodeStore",
+ "standby": true
+ },
+ "org.apache.jackrabbit.oak.segment.SegmentNodeStoreService~global": {
+ "name": "Default NodeStore",
+ "repository.home": "sling/composite/repository-libs"
+ },
+ "org.apache.jackrabbit.oak.composite.CrossMountReferenceValidatorProvider": {
+ "failOnDetection": true
+ },
+ "org.apache.jackrabbit.oak.composite.MountInfoProviderService": {
+ "mountName": "libs",
+ "readOnlyMount": false,
+ "pathsSupportingFragments": [],
+ "mountedPaths": [
+ "/libs",
+ "/apps"
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/feature/src/main/features/node-store-segment/segment.json b/feature/src/main/features/node-store-segment/segment.json
new file mode 100644
index 0000000..abcc4d4
--- /dev/null
+++ b/feature/src/main/features/node-store-segment/segment.json
@@ -0,0 +1,8 @@
+{
+ "id": "org.apache.sling:org.apache.sling.cms.feature:slingfeature:segment:${cms.version}",
+ "configurations": {
+ "org.apache.jackrabbit.oak.segment.SegmentNodeStoreService":{
+ "name":"Default NodeStore"
+ }
+ }
+}
\ No newline at end of file
diff --git a/feature/src/main/features/oak_oak.json b/feature/src/main/features/oak_oak.json
index b3842d5..9ae10b6 100644
--- a/feature/src/main/features/oak_oak.json
+++ b/feature/src/main/features/oak_oak.json
@@ -113,9 +113,6 @@
"jaas.controlFlag":"sufficient",
"jaas.classname":"org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule",
"jaas.ranking:Integer":"200"
- },
- "org.apache.jackrabbit.oak.segment.SegmentNodeStoreService":{
- "name":"Default NodeStore"
}
}
}
\ No newline at end of file
[sling-org-apache-sling-app-cms] 08/18: Updating the start order of
several foundational libraries
Posted by dk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
dklco pushed a commit to branch SLING-8913-multiple-instance-types
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git
commit b32853b8a6d3ef5ba09839f3f8cf59ea03ea4f18
Author: Dan Klco <dk...@apache.org>
AuthorDate: Fri Jul 24 14:49:02 2020 -0400
Updating the start order of several foundational libraries
---
feature/src/main/features/cms_cms.json | 2 +-
feature/src/main/features/sling_sling.json | 10 +++++-----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/feature/src/main/features/cms_cms.json b/feature/src/main/features/cms_cms.json
index 0a7cb95..552c56c 100644
--- a/feature/src/main/features/cms_cms.json
+++ b/feature/src/main/features/cms_cms.json
@@ -64,7 +64,7 @@
},
{
"id":"com.sun.mail:javax.mail:1.6.2",
- "start-order":"20"
+ "start-order":"15"
},
{
"id":"org.apache.commons:commons-text:1.8",
diff --git a/feature/src/main/features/sling_sling.json b/feature/src/main/features/sling_sling.json
index 2120da4..1b91001 100644
--- a/feature/src/main/features/sling_sling.json
+++ b/feature/src/main/features/sling_sling.json
@@ -4,11 +4,11 @@
"bundles":[
{
"id":"commons-codec:commons-codec:1.14",
- "start-order":"20"
+ "start-order":"10"
},
{
"id":"commons-collections:commons-collections:3.2.2",
- "start-order":"20"
+ "start-order":"10"
},
{
"id":"javax.mail:mail:1.5.0-b01",
@@ -16,7 +16,7 @@
},
{
"id":"org.apache.commons:commons-collections4:4.4",
- "start-order":"20"
+ "start-order":"10"
},
{
"id":"org.apache.commons:commons-math:2.2",
@@ -28,11 +28,11 @@
},
{
"id":"org.apache.httpcomponents:httpclient-osgi:4.5.10",
- "start-order":"20"
+ "start-order":"10"
},
{
"id":"org.apache.httpcomponents:httpcore-osgi:4.4.12",
- "start-order":"20"
+ "start-order":"10"
},
{
"id":"org.apache.jackrabbit.vault:org.apache.jackrabbit.vault:3.4.4",
[sling-org-apache-sling-app-cms] 01/18: Updating to bring the PM
closer to Sling 12
Posted by dk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
dklco pushed a commit to branch SLING-8913-multiple-instance-types
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git
commit 0abd9a46af8d14b3f2c936726b6a62866513f6fe
Author: Dan Klco <dk...@apache.org>
AuthorDate: Wed Jul 22 21:32:37 2020 -0400
Updating to bring the PM closer to Sling 12
---
builder/src/main/provisioning/cms.txt | 4 ++-
builder/src/main/provisioning/composum.txt | 1 -
builder/src/main/provisioning/healthcheck.txt | 8 ++---
builder/src/main/provisioning/repoinit.txt | 7 +++++
builder/src/main/provisioning/sling-rewriter.txt | 38 ------------------------
5 files changed, 14 insertions(+), 44 deletions(-)
diff --git a/builder/src/main/provisioning/cms.txt b/builder/src/main/provisioning/cms.txt
index ce7725d..f928e47 100644
--- a/builder/src/main/provisioning/cms.txt
+++ b/builder/src/main/provisioning/cms.txt
@@ -48,9 +48,12 @@
org.apache.sling/org.apache.sling.cms.reference/${cms.version}
org.apache.sling/org.apache.sling.cms.transformer/${cms.version}
org.apache.sling/org.apache.sling.commons.crypto/1.0.0
+ org.apache.sling/org.apache.sling.commons.html/1.1.0
org.apache.sling/org.apache.sling.commons.messaging.mail/1.0.0
org.apache.sling/org.apache.sling.commons.messaging/1.0.0
+ org.apache.sling/org.apache.sling.rewriter/1.2.2
org.apache.tika/tika-bundle/1.22
+ org.codehaus.groovy/groovy-all/2.4.19
[:repoinit]
@@ -77,7 +80,6 @@
allow jcr:read on /etc/usergenerated
end
-
# Groups
create path (rep:AuthorizableFolder) /home/groups
create path (rep:AuthorizableFolder) /home/groups/sling-cms
diff --git a/builder/src/main/provisioning/composum.txt b/builder/src/main/provisioning/composum.txt
index 8e85e85..e33d9f5 100644
--- a/builder/src/main/provisioning/composum.txt
+++ b/builder/src/main/provisioning/composum.txt
@@ -20,7 +20,6 @@
composum.nodes.version=1.12.0
[artifacts startLevel=20]
- org.codehaus.groovy/groovy-all/2.4.19
com.composum.sling.core/composum-sling-core-commons/${composum.nodes.version}
com.composum.sling.core/composum-sling-core-console/${composum.nodes.version}
com.composum.sling.core/composum-sling-core-jslibs/${composum.nodes.version}
diff --git a/builder/src/main/provisioning/healthcheck.txt b/builder/src/main/provisioning/healthcheck.txt
index b487486..faecc88 100644
--- a/builder/src/main/provisioning/healthcheck.txt
+++ b/builder/src/main/provisioning/healthcheck.txt
@@ -20,10 +20,10 @@
# startlevel 5 together with jetty (to allow use during startup)
[artifacts startLevel=5]
- org.apache.felix/org.apache.felix.healthcheck.api/2.0.2
- org.apache.felix/org.apache.felix.healthcheck.core/2.0.6
- org.apache.felix/org.apache.felix.healthcheck.generalchecks/2.0.4
- org.apache.felix/org.apache.felix.healthcheck.webconsoleplugin/2.0.0
+ org.apache.felix/org.apache.felix.healthcheck.api/2.0.4
+ org.apache.felix/org.apache.felix.healthcheck.core/2.0.8
+ org.apache.felix/org.apache.felix.healthcheck.generalchecks/2.0.6
+ org.apache.felix/org.apache.felix.healthcheck.webconsoleplugin/2.0.2
# sling health check bundles at startlevel 20
[artifacts startLevel=20]
diff --git a/builder/src/main/provisioning/repoinit.txt b/builder/src/main/provisioning/repoinit.txt
index 2ffed83..2730768 100644
--- a/builder/src/main/provisioning/repoinit.txt
+++ b/builder/src/main/provisioning/repoinit.txt
@@ -71,6 +71,13 @@
allow rep:write on /apps/sling/install
end
+ # content-package installer
+ create service user sling-package-install
+
+ set ACL for sling-package-install
+ allow jcr:all on /
+ allow jcr:namespaceManagement,jcr:nodeTypeDefinitionManagement on :repository
+ end
[configurations]
org.apache.sling.jcr.repoinit.impl.RepositoryInitializer
references="model@repoinit:context:/resources/provisioning/model.txt"
diff --git a/builder/src/main/provisioning/sling-rewriter.txt b/builder/src/main/provisioning/sling-rewriter.txt
deleted file mode 100644
index 65ebf3d..0000000
--- a/builder/src/main/provisioning/sling-rewriter.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-#
-# 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.
-#
-#
-[feature name=sling-rewriter]
-
-[artifacts]
- org.apache.sling/org.apache.sling.commons.html/1.1.0
- org.apache.sling/org.apache.sling.rewriter/1.2.2
-
-[:repoinit]
- create service user sling-rewriter
-
- set ACL for sling-rewriter
- allow jcr:read on /
- end
-
-
-[configurations]
- org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-sling.rewriter
- user.mapping=[
- "org.apache.sling.rewriter\=sling-rewriter"
- ]
\ No newline at end of file
[sling-org-apache-sling-app-cms] 09/18: Moving codec and post up a
level each
Posted by dk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
dklco pushed a commit to branch SLING-8913-multiple-instance-types
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git
commit ee5c777121e437d4202489ff90608362718fb57f
Author: Dan Klco <dk...@apache.org>
AuthorDate: Fri Jul 24 14:55:39 2020 -0400
Moving codec and post up a level each
---
feature/src/main/features/sling_sling.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/feature/src/main/features/sling_sling.json b/feature/src/main/features/sling_sling.json
index 1b91001..3d0e4f8 100644
--- a/feature/src/main/features/sling_sling.json
+++ b/feature/src/main/features/sling_sling.json
@@ -4,7 +4,7 @@
"bundles":[
{
"id":"commons-codec:commons-codec:1.14",
- "start-order":"10"
+ "start-order":"5"
},
{
"id":"commons-collections:commons-collections:3.2.2",
@@ -136,7 +136,7 @@
},
{
"id":"org.apache.sling:org.apache.sling.servlets.post:2.3.36",
- "start-order":"20"
+ "start-order":"15"
},
{
"id":"org.apache.sling:org.apache.sling.servlets.resolver:2.7.2",
[sling-org-apache-sling-app-cms] 05/18: Using variables
Posted by dk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
dklco pushed a commit to branch SLING-8913-multiple-instance-types
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git
commit d3cc8841940efe55bedf49ad612277057febac57
Author: Dan Klco <dk...@apache.org>
AuthorDate: Fri Jul 24 14:37:04 2020 -0400
Using variables
---
feature/src/main/features/boot_boot.json | 11 +++----
feature/src/main/features/cms_cms.json | 20 +++++--------
.../src/main/features/composum_composum-nodes.json | 13 ++++----
.../src/main/features/healthcheck_healthcheck.json | 2 +-
feature/src/main/features/launchpad_launchpad.json | 2 +-
feature/src/main/features/oak_oak.json | 35 ++++++++++------------
feature/src/main/features/repoinit_repoinit.json | 2 +-
feature/src/main/features/scripting_sling.json | 2 +-
.../features/sling-caconfig_sling-caconfig.json | 2 +-
.../features/sling-discovery_sling-discovery.json | 2 +-
.../src/main/features/sling-event_sling-event.json | 2 +-
...els-jacksonexporter_models-jacksonexporter.json | 11 +++----
.../sling-validation_sling-validation.json | 2 +-
feature/src/main/features/sling_sling.json | 17 +++++------
.../src/main/features/standalone_standalone.json | 2 +-
feature/src/main/features/webapp_webapp.json | 2 +-
16 files changed, 54 insertions(+), 73 deletions(-)
diff --git a/feature/src/main/features/boot_boot.json b/feature/src/main/features/boot_boot.json
index 0fbf079..bf25bdf 100644
--- a/feature/src/main/features/boot_boot.json
+++ b/feature/src/main/features/boot_boot.json
@@ -1,9 +1,6 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:boot:0.16.3-SNAPSHOT",
- "variables":{
- "slf4j.version":"1.7.25"
- },
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:boot:${cms.version}",
"bundles":[
{
"id":"org.apache.aries:org.apache.aries.util:1.1.3",
@@ -114,15 +111,15 @@
"start-order":"1"
},
{
- "id":"org.slf4j:jcl-over-slf4j:1.7.25",
+ "id":"org.slf4j:jcl-over-slf4j:${slf4j.version}",
"start-order":"1"
},
{
- "id":"org.slf4j:log4j-over-slf4j:1.7.25",
+ "id":"org.slf4j:log4j-over-slf4j:${slf4j.version}",
"start-order":"1"
},
{
- "id":"org.slf4j:slf4j-api:1.7.25",
+ "id":"org.slf4j:slf4j-api:${slf4j.version}",
"start-order":"1"
}
],
diff --git a/feature/src/main/features/cms_cms.json b/feature/src/main/features/cms_cms.json
index cd0a963..4bc76db 100644
--- a/feature/src/main/features/cms_cms.json
+++ b/feature/src/main/features/cms_cms.json
@@ -1,21 +1,17 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:cms:0.16.3-SNAPSHOT",
- "variables":{
- "oak.version":"1.26.0",
- "cms.version":"0.16.3-SNAPSHOT"
- },
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:cms:${cms.version}",
"bundles":[
{
"id":"com.github.livesense:org.liveSense.fragment.sun.misc:1.0.5",
"start-order":"5"
},
{
- "id":"org.apache.sling:org.apache.sling.cms.api:0.16.3-SNAPSHOT",
+ "id":"org.apache.sling:org.apache.sling.cms.api:${cms.version}",
"start-order":"5"
},
{
- "id":"org.apache.sling:org.apache.sling.cms.ui:0.16.3-SNAPSHOT",
+ "id":"org.apache.sling:org.apache.sling.cms.ui:${cms.version}",
"start-order":"5"
},
{
@@ -43,11 +39,11 @@
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-auth-external:1.26.0",
+ "id":"org.apache.jackrabbit:oak-auth-external:${oak.version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-auth-ldap:1.26.0",
+ "id":"org.apache.jackrabbit:oak-auth-ldap:${oak.version}",
"start-order":"15"
},
{
@@ -83,15 +79,15 @@
"start-order":"20"
},
{
- "id":"org.apache.sling:org.apache.sling.cms.core:0.16.3-SNAPSHOT",
+ "id":"org.apache.sling:org.apache.sling.cms.core:${cms.version}",
"start-order":"20"
},
{
- "id":"org.apache.sling:org.apache.sling.cms.reference:0.16.3-SNAPSHOT",
+ "id":"org.apache.sling:org.apache.sling.cms.reference:${cms.version}",
"start-order":"20"
},
{
- "id":"org.apache.sling:org.apache.sling.cms.transformer:0.16.3-SNAPSHOT",
+ "id":"org.apache.sling:org.apache.sling.cms.transformer:${cms.version}",
"start-order":"20"
},
{
diff --git a/feature/src/main/features/composum_composum-nodes.json b/feature/src/main/features/composum_composum-nodes.json
index acaf4bd..e299f16 100644
--- a/feature/src/main/features/composum_composum-nodes.json
+++ b/feature/src/main/features/composum_composum-nodes.json
@@ -1,24 +1,21 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:composum_composum-nodes:0.16.3-SNAPSHOT",
- "variables":{
- "composum.nodes.version":"1.12.0"
- },
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:composum_composum-nodes:${cms.version}",
"bundles":[
{
- "id":"com.composum.sling.core:composum-sling-core-commons:1.12.0",
+ "id":"com.composum.sling.core:composum-sling-core-commons:${composum.version}",
"start-order":"20"
},
{
- "id":"com.composum.sling.core:composum-sling-core-console:1.12.0",
+ "id":"com.composum.sling.core:composum-sling-core-console:${composum.version}",
"start-order":"20"
},
{
- "id":"com.composum.sling.core:composum-sling-core-jslibs:1.12.0",
+ "id":"com.composum.sling.core:composum-sling-core-jslibs:${composum.version}",
"start-order":"20"
},
{
- "id":"com.composum.sling.core:composum-sling-package-manager:1.12.0",
+ "id":"com.composum.sling.core:composum-sling-package-manager:${composum.version}",
"start-order":"20"
}
],
diff --git a/feature/src/main/features/healthcheck_healthcheck.json b/feature/src/main/features/healthcheck_healthcheck.json
index 06d0b5d..d60a075 100644
--- a/feature/src/main/features/healthcheck_healthcheck.json
+++ b/feature/src/main/features/healthcheck_healthcheck.json
@@ -1,6 +1,6 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:healthcheck:0.16.3-SNAPSHOT",
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:healthcheck:${cms.version}",
"bundles":[
{
"id":"org.apache.felix:org.apache.felix.healthcheck.api:2.0.4",
diff --git a/feature/src/main/features/launchpad_launchpad.json b/feature/src/main/features/launchpad_launchpad.json
index acdb0b8..2d06b41 100644
--- a/feature/src/main/features/launchpad_launchpad.json
+++ b/feature/src/main/features/launchpad_launchpad.json
@@ -1,6 +1,6 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:launchpad:0.16.3-SNAPSHOT",
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:launchpad:${cms.version}",
"bundles":[
{
"id":"org.apache.sling:org.apache.sling.launchpad.base:6.0.2-2.6.36",
diff --git a/feature/src/main/features/oak_oak.json b/feature/src/main/features/oak_oak.json
index 27f959c..37aa1d7 100644
--- a/feature/src/main/features/oak_oak.json
+++ b/feature/src/main/features/oak_oak.json
@@ -1,68 +1,65 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:oak:0.16.3-SNAPSHOT",
- "variables":{
- "oak.version":"1.26.0"
- },
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:oak:${cms.version}",
"bundles":[
{
"id":"org.apache.felix:org.apache.felix.jaas:1.0.2",
"start-order":"10"
},
{
- "id":"org.apache.jackrabbit:oak-api:1.26.0",
+ "id":"org.apache.jackrabbit:oak-api:${oak.version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-blob-plugins:1.26.0",
+ "id":"org.apache.jackrabbit:oak-blob-plugins:${oak.version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-blob:1.26.0",
+ "id":"org.apache.jackrabbit:oak-blob:${oak.version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-commons:1.26.0",
+ "id":"org.apache.jackrabbit:oak-commons:${oak.version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-core-spi:1.26.0",
+ "id":"org.apache.jackrabbit:oak-core-spi:${oak.version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-core:1.26.0",
+ "id":"org.apache.jackrabbit:oak-core:${oak.version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-jackrabbit-api:1.26.0",
+ "id":"org.apache.jackrabbit:oak-jackrabbit-api:${oak.version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-jcr:1.26.0",
+ "id":"org.apache.jackrabbit:oak-jcr:${oak.version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-lucene:1.26.0",
+ "id":"org.apache.jackrabbit:oak-lucene:${oak.version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-query-spi:1.26.0",
+ "id":"org.apache.jackrabbit:oak-query-spi:${oak.version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-security-spi:1.26.0",
+ "id":"org.apache.jackrabbit:oak-security-spi:${oak.version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-store-composite:1.26.0",
+ "id":"org.apache.jackrabbit:oak-store-composite:${oak.version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-store-document:1.26.0",
+ "id":"org.apache.jackrabbit:oak-store-document:${oak.version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-store-spi:1.26.0",
+ "id":"org.apache.jackrabbit:oak-store-spi:${oak.version}",
"start-order":"15"
},
{
@@ -70,7 +67,7 @@
"start-order":"16"
},
{
- "id":"org.apache.jackrabbit:oak-segment-tar:1.26.0",
+ "id":"org.apache.jackrabbit:oak-segment-tar:${oak.version}",
"run-modes":"oak_tar",
"start-order":"15"
}
diff --git a/feature/src/main/features/repoinit_repoinit.json b/feature/src/main/features/repoinit_repoinit.json
index 8327bc9..1b74940 100644
--- a/feature/src/main/features/repoinit_repoinit.json
+++ b/feature/src/main/features/repoinit_repoinit.json
@@ -1,6 +1,6 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:repoinit:0.16.3-SNAPSHOT",
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:repoinit:${cms.version}",
"bundles":[
{
"id":"org.apache.sling:org.apache.sling.jcr.repoinit:1.1.24",
diff --git a/feature/src/main/features/scripting_sling.json b/feature/src/main/features/scripting_sling.json
index 915a006..3510ab0 100644
--- a/feature/src/main/features/scripting_sling.json
+++ b/feature/src/main/features/scripting_sling.json
@@ -1,6 +1,6 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:scripting_sling:0.16.3-SNAPSHOT",
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:scripting_sling:${cms.version}",
"bundles":[
{
"id":"org.antlr:antlr4-runtime:4.7.2",
diff --git a/feature/src/main/features/sling-caconfig_sling-caconfig.json b/feature/src/main/features/sling-caconfig_sling-caconfig.json
index 91d46b2..739f8cc 100644
--- a/feature/src/main/features/sling-caconfig_sling-caconfig.json
+++ b/feature/src/main/features/sling-caconfig_sling-caconfig.json
@@ -1,6 +1,6 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:sling-caconfig:0.16.3-SNAPSHOT",
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:sling-caconfig:${cms.version}",
"bundles":[
{
"id":"org.apache.sling:org.apache.sling.caconfig.api:1.2.0",
diff --git a/feature/src/main/features/sling-discovery_sling-discovery.json b/feature/src/main/features/sling-discovery_sling-discovery.json
index e4da74a..0388d5f 100644
--- a/feature/src/main/features/sling-discovery_sling-discovery.json
+++ b/feature/src/main/features/sling-discovery_sling-discovery.json
@@ -1,6 +1,6 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:sling-discovery:0.16.3-SNAPSHOT",
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:sling-discovery:${cms.version}",
"bundles":[
{
"id":"org.apache.sling:org.apache.sling.discovery.api:1.0.4",
diff --git a/feature/src/main/features/sling-event_sling-event.json b/feature/src/main/features/sling-event_sling-event.json
index 2b236eb..3b6990e 100644
--- a/feature/src/main/features/sling-event_sling-event.json
+++ b/feature/src/main/features/sling-event_sling-event.json
@@ -1,6 +1,6 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:sling-event:0.16.3-SNAPSHOT",
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:sling-event:${cms.version}",
"bundles":[
{
"id":"org.apache.sling:org.apache.sling.event.dea:1.1.4",
diff --git a/feature/src/main/features/sling-models-jacksonexporter_models-jacksonexporter.json b/feature/src/main/features/sling-models-jacksonexporter_models-jacksonexporter.json
index d7b04f6..e72f722 100644
--- a/feature/src/main/features/sling-models-jacksonexporter_models-jacksonexporter.json
+++ b/feature/src/main/features/sling-models-jacksonexporter_models-jacksonexporter.json
@@ -1,20 +1,17 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:sling-models-jacksonexporter_models-jacksonexporter:0.16.3-SNAPSHOT",
- "variables":{
- "jackson.version":"2.11.1"
- },
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:sling-models-jacksonexporter_models-jacksonexporter:${cms.version}",
"bundles":[
{
- "id":"com.fasterxml.jackson.core:jackson-annotations:2.11.1",
+ "id":"com.fasterxml.jackson.core:jackson-annotations:${jackson.version}",
"start-order":"20"
},
{
- "id":"com.fasterxml.jackson.core:jackson-core:2.11.1",
+ "id":"com.fasterxml.jackson.core:jackson-core:${jackson.version}",
"start-order":"20"
},
{
- "id":"com.fasterxml.jackson.core:jackson-databind:2.11.1",
+ "id":"com.fasterxml.jackson.core:jackson-databind:${jackson.version}",
"start-order":"20"
},
{
diff --git a/feature/src/main/features/sling-validation_sling-validation.json b/feature/src/main/features/sling-validation_sling-validation.json
index 336a578..0c0eca3 100644
--- a/feature/src/main/features/sling-validation_sling-validation.json
+++ b/feature/src/main/features/sling-validation_sling-validation.json
@@ -1,6 +1,6 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:sling-validation:0.16.3-SNAPSHOT",
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:sling-validation:${cms.version}",
"bundles":[
{
"id":"org.apache.sling:org.apache.sling.models.validation-impl:1.0.0",
diff --git a/feature/src/main/features/sling_sling.json b/feature/src/main/features/sling_sling.json
index 250f14b..8b13bac 100644
--- a/feature/src/main/features/sling_sling.json
+++ b/feature/src/main/features/sling_sling.json
@@ -1,9 +1,6 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:sling:0.16.3-SNAPSHOT",
- "variables":{
- "jackrabbit.version":"2.20.0"
- },
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:sling:${cms.version}",
"bundles":[
{
"id":"commons-codec:commons-codec:1.14",
@@ -270,27 +267,27 @@
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:jackrabbit-data:2.20.0",
+ "id":"org.apache.jackrabbit:jackrabbit-data:${jackrabbit.version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:jackrabbit-jcr-commons:2.20.0",
+ "id":"org.apache.jackrabbit:jackrabbit-jcr-commons:${jackrabbit.version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:jackrabbit-jcr-rmi:2.20.0",
+ "id":"org.apache.jackrabbit:jackrabbit-jcr-rmi:${jackrabbit.version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:jackrabbit-spi-commons:2.20.0",
+ "id":"org.apache.jackrabbit:jackrabbit-spi-commons:${jackrabbit.version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:jackrabbit-spi:2.20.0",
+ "id":"org.apache.jackrabbit:jackrabbit-spi:${jackrabbit.version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:jackrabbit-webdav:2.20.0",
+ "id":"org.apache.jackrabbit:jackrabbit-webdav:${jackrabbit.version}",
"start-order":"15"
},
{
diff --git a/feature/src/main/features/standalone_standalone.json b/feature/src/main/features/standalone_standalone.json
index e44e70d..d40be0a 100644
--- a/feature/src/main/features/standalone_standalone.json
+++ b/feature/src/main/features/standalone_standalone.json
@@ -1,6 +1,6 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:standalone:0.16.3-SNAPSHOT",
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:standalone:${cms.version}",
"bundles":[
{
"id":"org.apache.felix:org.apache.felix.http.jetty:4.0.18",
diff --git a/feature/src/main/features/webapp_webapp.json b/feature/src/main/features/webapp_webapp.json
index f1e6022..191ea0b 100644
--- a/feature/src/main/features/webapp_webapp.json
+++ b/feature/src/main/features/webapp_webapp.json
@@ -1,4 +1,4 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:webapp:0.16.3-SNAPSHOT"
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:webapp:${cms.version}"
}
\ No newline at end of file
[sling-org-apache-sling-app-cms] 06/18: Fixing an error with the
whiteboard security load order
Posted by dk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
dklco pushed a commit to branch SLING-8913-multiple-instance-types
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git
commit 37c207a0b7cb380841f6d2b36fa9ad5cdde16c04
Author: Dan Klco <dk...@apache.org>
AuthorDate: Fri Jul 24 14:42:08 2020 -0400
Fixing an error with the whiteboard security load order
---
feature/src/main/features/sling_sling.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/feature/src/main/features/sling_sling.json b/feature/src/main/features/sling_sling.json
index 8b13bac..2120da4 100644
--- a/feature/src/main/features/sling_sling.json
+++ b/feature/src/main/features/sling_sling.json
@@ -236,7 +236,7 @@
},
{
"id":"org.apache.sling:org.apache.sling.extensions.webconsolesecurityprovider:1.2.4",
- "start-order":"5"
+ "start-order":"15"
},
{
"id":"org.apache.felix:org.apache.felix.http.sslfilter:1.2.6",
[sling-org-apache-sling-app-cms] 12/18: Fixed all bundle start
ordering issues
Posted by dk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
dklco pushed a commit to branch SLING-8913-multiple-instance-types
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git
commit aed81c5b9143ff89d820837b1127bf4077621540
Author: Dan Klco <dk...@apache.org>
AuthorDate: Fri Jul 24 16:23:27 2020 -0400
Fixed all bundle start ordering issues
---
feature/pom.xml | 2 +-
feature/src/main/features/cms_cms.json | 24 ++++++++++++------------
2 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/feature/pom.xml b/feature/pom.xml
index 6c70994..2add139 100644
--- a/feature/pom.xml
+++ b/feature/pom.xml
@@ -97,7 +97,7 @@
<phase>prepare-package</phase>
<goals>
<goal>aggregate-features</goal>
- <!-- <goal>analyse-features</goal> -->
+ <goal>analyse-features</goal>
<goal>attach-features</goal>
<goal>attach-featurearchives</goal>
</goals>
diff --git a/feature/src/main/features/cms_cms.json b/feature/src/main/features/cms_cms.json
index 552c56c..25697c2 100644
--- a/feature/src/main/features/cms_cms.json
+++ b/feature/src/main/features/cms_cms.json
@@ -8,11 +8,11 @@
},
{
"id":"org.apache.sling:org.apache.sling.cms.api:${cms.version}",
- "start-order":"5"
+ "start-order":"20"
},
{
"id":"org.apache.sling:org.apache.sling.cms.ui:${cms.version}",
- "start-order":"5"
+ "start-order":"20"
},
{
"id":"com.vladsch.flexmark:flexmark-osgi:0.61.24",
@@ -68,15 +68,15 @@
},
{
"id":"org.apache.commons:commons-text:1.8",
- "start-order":"20"
+ "start-order":"15"
},
{
"id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.jasypt:1.9.3_1",
- "start-order":"20"
+ "start-order":"15"
},
{
"id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.poi:4.1.1_1",
- "start-order":"20"
+ "start-order":"15"
},
{
"id":"org.apache.sling:org.apache.sling.cms.core:${cms.version}",
@@ -92,31 +92,31 @@
},
{
"id":"org.apache.sling:org.apache.sling.commons.crypto:1.0.0",
- "start-order":"20"
+ "start-order":"15"
},
{
"id":"org.apache.sling:org.apache.sling.commons.html:1.1.0",
- "start-order":"20"
+ "start-order":"15"
},
{
"id":"org.apache.sling:org.apache.sling.commons.messaging.mail:1.0.0",
- "start-order":"20"
+ "start-order":"15"
},
{
"id":"org.apache.sling:org.apache.sling.commons.messaging:1.0.0",
- "start-order":"20"
+ "start-order":"15"
},
{
"id":"org.apache.sling:org.apache.sling.rewriter:1.2.2",
- "start-order":"20"
+ "start-order":"15"
},
{
"id":"org.apache.tika:tika-bundle:1.22",
- "start-order":"20"
+ "start-order":"15"
},
{
"id":"org.codehaus.groovy:groovy-all:2.4.19",
- "start-order":"20"
+ "start-order":"15"
}
],
"configurations":{
[sling-org-apache-sling-app-cms] 10/18: Bumping up a few commons
bundles:
Posted by dk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
dklco pushed a commit to branch SLING-8913-multiple-instance-types
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git
commit 1f150bd6a713e5473a54518ab10798bb5f5eace5
Author: Dan Klco <dk...@apache.org>
AuthorDate: Fri Jul 24 15:07:43 2020 -0400
Bumping up a few commons bundles:
---
feature/src/main/features/sling_sling.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/feature/src/main/features/sling_sling.json b/feature/src/main/features/sling_sling.json
index 3d0e4f8..dd0fe86 100644
--- a/feature/src/main/features/sling_sling.json
+++ b/feature/src/main/features/sling_sling.json
@@ -64,7 +64,7 @@
},
{
"id":"org.apache.sling:org.apache.sling.commons.mime:2.2.2",
- "start-order":"20"
+ "start-order":"15"
},
{
"id":"org.apache.sling:org.apache.sling.commons.scheduler:2.7.6",
@@ -72,7 +72,7 @@
},
{
"id":"org.apache.sling:org.apache.sling.commons.threads:3.2.20",
- "start-order":"20"
+ "start-order":"15"
},
{
"id":"org.apache.sling:org.apache.sling.engine:2.7.2",
[sling-org-apache-sling-app-cms] 13/18: Adding current state on
creating a standalone jar
Posted by dk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
dklco pushed a commit to branch SLING-8913-multiple-instance-types
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git
commit a31974a671b4b86ab160f7fd0932f28842c108af
Author: Dan Klco <da...@gmail.com>
AuthorDate: Sat Jul 25 11:57:39 2020 -0400
Adding current state on creating a standalone jar
---
feature/pom.xml | 31 ++++++++++++
feature/src/main/assembly/standalone.xml | 58 ++++++++++++++++++++++
.../java/org/apache/sling/cms/feature/Main.java | 47 ++++++++++++++++++
feature/src/main/resources/slingcms.properties | 10 ++++
4 files changed, 146 insertions(+)
diff --git a/feature/pom.xml b/feature/pom.xml
index 2add139..4644378 100644
--- a/feature/pom.xml
+++ b/feature/pom.xml
@@ -107,6 +107,31 @@
</execution>
</executions>
</plugin>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <archive>
+ <manifest>
+ <mainClass>
+ org.apache.sling.cms.feature.Main
+ </mainClass>
+ <classpathPrefix>lib/</classpathPrefix>
+ <addClasspath>true</addClasspath>
+ </manifest>
+ </archive>
+ <descriptors>
+ <descriptor>src/main/assembly/standalone.xml</descriptor>
+ </descriptors>
+ </configuration>
+ </plugin>
</plugins>
<pluginManagement>
@@ -145,5 +170,11 @@
<version>1.11.2</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.feature.launcher</artifactId>
+ <version>1.1.4</version>
+ <scope>compile</scope>
+ </dependency>
</dependencies>
</project>
diff --git a/feature/src/main/assembly/standalone.xml b/feature/src/main/assembly/standalone.xml
new file mode 100644
index 0000000..127c20c
--- /dev/null
+++ b/feature/src/main/assembly/standalone.xml
@@ -0,0 +1,58 @@
+<?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.
+ -->
+<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.1.0 http://maven.apache.org/xsd/assembly-2.1.0.xsd">
+ <id>standalone</id>
+ <includeBaseDirectory>false</includeBaseDirectory>
+ <formats>
+ <format>jar</format>
+ </formats>
+ <dependencySets>
+ <dependencySet>
+ <includes>
+ <include>org.apache.sling:org.apache.sling.feature.launcher</include>
+ </includes>
+ <outputDirectory>lib</outputDirectory>
+ </dependencySet>
+ </dependencySets>
+
+
+ <fileSets>
+ <fileSet>
+ <directory>${basedir}/target</directory>
+ <includes>
+ <include>*-slingcms_far.far</include>
+ </includes>
+ <outputDirectory>lib</outputDirectory>
+ </fileSet>
+ </fileSets>
+
+ <files>
+ <file>
+ <source>/target/classes/org/apache/sling/cms/feature/Main.class</source>
+ <outputDirectory>org/apache/sling/cms/feature</outputDirectory>
+ </file>
+ <file>
+ <source>src/main/resources/slingcms.properties</source>
+ <filtered>true</filtered>
+ </file>
+ <file>
+ <source>target/classes/META-INF/NOTICE</source>
+ <outputDirectory>META-INF</outputDirectory>
+ </file>
+ <file>
+ <source>target/classes/META-INF/LICENSE</source>
+ <outputDirectory>META-INF</outputDirectory>
+ </file>
+ </files>
+
+</assembly>
\ No newline at end of file
diff --git a/feature/src/main/java/org/apache/sling/cms/feature/Main.java b/feature/src/main/java/org/apache/sling/cms/feature/Main.java
new file mode 100644
index 0000000..4d07560
--- /dev/null
+++ b/feature/src/main/java/org/apache/sling/cms/feature/Main.java
@@ -0,0 +1,47 @@
+/*
+ * 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.
+ */
+package org.apache.sling.cms.feature;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Arrays;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+import java.util.jar.Attributes;
+import java.util.jar.Manifest;
+
+public class Main {
+ public static void main(String[] args) throws IOException {
+ System.out.println("Bootstraping Sling CMS Feature Model");
+ URL propertiesUrl = Main.class.getClassLoader().getResource("slingcms.properties");
+ Properties properties = new Properties();
+ properties.load(propertiesUrl.openStream());
+
+ String version = properties.getProperty("version");
+ System.out.println("Version "+version);
+
+ URL farUrl = Main.class.getClassLoader().getResource("lib/org.apache.sling.cms.fmconverter-"+version+"-slingcms_far.far");
+ List<String> arguments = new ArrayList();
+ arguments.addAll(Arrays.asList(args));
+ if(!arguments.contains("-f")){
+ arguments.add("-f");
+ arguments.add(farUrl.toString());
+ }
+ org.apache.sling.feature.launcher.impl.Main.main(arguments.toArray(new String[arguments.size()]));
+ }
+}
\ No newline at end of file
diff --git a/feature/src/main/resources/slingcms.properties b/feature/src/main/resources/slingcms.properties
new file mode 100644
index 0000000..acc00cf
--- /dev/null
+++ b/feature/src/main/resources/slingcms.properties
@@ -0,0 +1,10 @@
+# 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.
+version=0.16.3-SNAPSHOT
\ No newline at end of file
[sling-org-apache-sling-app-cms] 14/18: Revising the module name
and updating to embed feature launcher to enable launching the standalone
JAR
Posted by dk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
dklco pushed a commit to branch SLING-8913-multiple-instance-types
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git
commit 4a515c88edbc91a0b1d6a0ed0cd53fb9fefcc18c
Author: Dan Klco <dk...@apache.org>
AuthorDate: Sat Jul 25 22:39:41 2020 -0400
Revising the module name and updating to embed feature launcher to enable launching the standalone JAR
---
feature/pom.xml | 3 +--
feature/src/main/assembly/standalone.xml | 9 ++++++---
feature/src/main/features/boot_boot.json | 2 +-
feature/src/main/features/cms_cms.json | 2 +-
feature/src/main/features/composum_composum-nodes.json | 2 +-
feature/src/main/features/healthcheck_healthcheck.json | 2 +-
feature/src/main/features/launchpad_launchpad.json | 2 +-
feature/src/main/features/oak_oak.json | 2 +-
feature/src/main/features/repoinit_repoinit.json | 2 +-
feature/src/main/features/scripting_sling.json | 2 +-
feature/src/main/features/sling-caconfig_sling-caconfig.json | 2 +-
feature/src/main/features/sling-discovery_sling-discovery.json | 2 +-
feature/src/main/features/sling-event_sling-event.json | 2 +-
.../sling-models-jacksonexporter_models-jacksonexporter.json | 2 +-
feature/src/main/features/sling-validation_sling-validation.json | 2 +-
feature/src/main/features/sling_sling.json | 2 +-
feature/src/main/features/standalone_standalone.json | 2 +-
feature/src/main/features/webapp_webapp.json | 2 +-
feature/src/main/java/org/apache/sling/cms/feature/Main.java | 7 +++----
19 files changed, 26 insertions(+), 25 deletions(-)
diff --git a/feature/pom.xml b/feature/pom.xml
index 4644378..60f0191 100644
--- a/feature/pom.xml
+++ b/feature/pom.xml
@@ -19,7 +19,7 @@
<version>0.16.3-SNAPSHOT</version>
</parent>
- <artifactId>org.apache.sling.cms.fmconverter</artifactId>
+ <artifactId>org.apache.sling.cms.feature</artifactId>
<name>Apache Sling - CMS Feature Model</name>
<properties>
@@ -174,7 +174,6 @@
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.feature.launcher</artifactId>
<version>1.1.4</version>
- <scope>compile</scope>
</dependency>
</dependencies>
</project>
diff --git a/feature/src/main/assembly/standalone.xml b/feature/src/main/assembly/standalone.xml
index 127c20c..7656c49 100644
--- a/feature/src/main/assembly/standalone.xml
+++ b/feature/src/main/assembly/standalone.xml
@@ -11,21 +11,24 @@
and limitations under the License.
-->
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.1.0 http://maven.apache.org/xsd/assembly-2.1.0.xsd">
+
<id>standalone</id>
<includeBaseDirectory>false</includeBaseDirectory>
<formats>
<format>jar</format>
</formats>
+
<dependencySets>
<dependencySet>
<includes>
<include>org.apache.sling:org.apache.sling.feature.launcher</include>
</includes>
- <outputDirectory>lib</outputDirectory>
+ <outputDirectory>/</outputDirectory>
+ <useProjectArtifact>true</useProjectArtifact>
+ <unpack>true</unpack>
</dependencySet>
</dependencySets>
-
<fileSets>
<fileSet>
<directory>${basedir}/target</directory>
@@ -38,7 +41,7 @@
<files>
<file>
- <source>/target/classes/org/apache/sling/cms/feature/Main.class</source>
+ <source>target/classes/org/apache/sling/cms/feature/Main.class</source>
<outputDirectory>org/apache/sling/cms/feature</outputDirectory>
</file>
<file>
diff --git a/feature/src/main/features/boot_boot.json b/feature/src/main/features/boot_boot.json
index bf25bdf..9b2a86f 100644
--- a/feature/src/main/features/boot_boot.json
+++ b/feature/src/main/features/boot_boot.json
@@ -1,6 +1,6 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:boot:${cms.version}",
+ "id":"org.apache.sling:org.apache.sling.cms.feature:slingfeature:boot:${cms.version}",
"bundles":[
{
"id":"org.apache.aries:org.apache.aries.util:1.1.3",
diff --git a/feature/src/main/features/cms_cms.json b/feature/src/main/features/cms_cms.json
index 25697c2..27884b7 100644
--- a/feature/src/main/features/cms_cms.json
+++ b/feature/src/main/features/cms_cms.json
@@ -1,6 +1,6 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:cms:${cms.version}",
+ "id":"org.apache.sling:org.apache.sling.cms.feature:slingfeature:cms:${cms.version}",
"bundles":[
{
"id":"com.github.livesense:org.liveSense.fragment.sun.misc:1.0.5",
diff --git a/feature/src/main/features/composum_composum-nodes.json b/feature/src/main/features/composum_composum-nodes.json
index e299f16..0d54fdf 100644
--- a/feature/src/main/features/composum_composum-nodes.json
+++ b/feature/src/main/features/composum_composum-nodes.json
@@ -1,6 +1,6 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:composum_composum-nodes:${cms.version}",
+ "id":"org.apache.sling:org.apache.sling.cms.feature:slingfeature:composum_composum-nodes:${cms.version}",
"bundles":[
{
"id":"com.composum.sling.core:composum-sling-core-commons:${composum.version}",
diff --git a/feature/src/main/features/healthcheck_healthcheck.json b/feature/src/main/features/healthcheck_healthcheck.json
index d60a075..4a67929 100644
--- a/feature/src/main/features/healthcheck_healthcheck.json
+++ b/feature/src/main/features/healthcheck_healthcheck.json
@@ -1,6 +1,6 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:healthcheck:${cms.version}",
+ "id":"org.apache.sling:org.apache.sling.cms.feature:slingfeature:healthcheck:${cms.version}",
"bundles":[
{
"id":"org.apache.felix:org.apache.felix.healthcheck.api:2.0.4",
diff --git a/feature/src/main/features/launchpad_launchpad.json b/feature/src/main/features/launchpad_launchpad.json
index 2d06b41..91aa19b 100644
--- a/feature/src/main/features/launchpad_launchpad.json
+++ b/feature/src/main/features/launchpad_launchpad.json
@@ -1,6 +1,6 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:launchpad:${cms.version}",
+ "id":"org.apache.sling:org.apache.sling.cms.feature:slingfeature:launchpad:${cms.version}",
"bundles":[
{
"id":"org.apache.sling:org.apache.sling.launchpad.base:6.0.2-2.6.36",
diff --git a/feature/src/main/features/oak_oak.json b/feature/src/main/features/oak_oak.json
index 6bc504b..b3842d5 100644
--- a/feature/src/main/features/oak_oak.json
+++ b/feature/src/main/features/oak_oak.json
@@ -1,6 +1,6 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:oak:${cms.version}",
+ "id":"org.apache.sling:org.apache.sling.cms.feature:slingfeature:oak:${cms.version}",
"bundles":[
{
"id":"org.apache.felix:org.apache.felix.jaas:1.0.2",
diff --git a/feature/src/main/features/repoinit_repoinit.json b/feature/src/main/features/repoinit_repoinit.json
index 1b74940..86781de 100644
--- a/feature/src/main/features/repoinit_repoinit.json
+++ b/feature/src/main/features/repoinit_repoinit.json
@@ -1,6 +1,6 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:repoinit:${cms.version}",
+ "id":"org.apache.sling:org.apache.sling.cms.feature:slingfeature:repoinit:${cms.version}",
"bundles":[
{
"id":"org.apache.sling:org.apache.sling.jcr.repoinit:1.1.24",
diff --git a/feature/src/main/features/scripting_sling.json b/feature/src/main/features/scripting_sling.json
index 3510ab0..f882473 100644
--- a/feature/src/main/features/scripting_sling.json
+++ b/feature/src/main/features/scripting_sling.json
@@ -1,6 +1,6 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:scripting_sling:${cms.version}",
+ "id":"org.apache.sling:org.apache.sling.cms.feature:slingfeature:scripting_sling:${cms.version}",
"bundles":[
{
"id":"org.antlr:antlr4-runtime:4.7.2",
diff --git a/feature/src/main/features/sling-caconfig_sling-caconfig.json b/feature/src/main/features/sling-caconfig_sling-caconfig.json
index 739f8cc..1aa5d6b 100644
--- a/feature/src/main/features/sling-caconfig_sling-caconfig.json
+++ b/feature/src/main/features/sling-caconfig_sling-caconfig.json
@@ -1,6 +1,6 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:sling-caconfig:${cms.version}",
+ "id":"org.apache.sling:org.apache.sling.cms.feature:slingfeature:sling-caconfig:${cms.version}",
"bundles":[
{
"id":"org.apache.sling:org.apache.sling.caconfig.api:1.2.0",
diff --git a/feature/src/main/features/sling-discovery_sling-discovery.json b/feature/src/main/features/sling-discovery_sling-discovery.json
index 0388d5f..e6c522e 100644
--- a/feature/src/main/features/sling-discovery_sling-discovery.json
+++ b/feature/src/main/features/sling-discovery_sling-discovery.json
@@ -1,6 +1,6 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:sling-discovery:${cms.version}",
+ "id":"org.apache.sling:org.apache.sling.cms.feature:slingfeature:sling-discovery:${cms.version}",
"bundles":[
{
"id":"org.apache.sling:org.apache.sling.discovery.api:1.0.4",
diff --git a/feature/src/main/features/sling-event_sling-event.json b/feature/src/main/features/sling-event_sling-event.json
index 3b6990e..c1927a3 100644
--- a/feature/src/main/features/sling-event_sling-event.json
+++ b/feature/src/main/features/sling-event_sling-event.json
@@ -1,6 +1,6 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:sling-event:${cms.version}",
+ "id":"org.apache.sling:org.apache.sling.cms.feature:slingfeature:sling-event:${cms.version}",
"bundles":[
{
"id":"org.apache.sling:org.apache.sling.event.dea:1.1.4",
diff --git a/feature/src/main/features/sling-models-jacksonexporter_models-jacksonexporter.json b/feature/src/main/features/sling-models-jacksonexporter_models-jacksonexporter.json
index e72f722..00bcbf0 100644
--- a/feature/src/main/features/sling-models-jacksonexporter_models-jacksonexporter.json
+++ b/feature/src/main/features/sling-models-jacksonexporter_models-jacksonexporter.json
@@ -1,6 +1,6 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:sling-models-jacksonexporter_models-jacksonexporter:${cms.version}",
+ "id":"org.apache.sling:org.apache.sling.cms.feature:slingfeature:sling-models-jacksonexporter_models-jacksonexporter:${cms.version}",
"bundles":[
{
"id":"com.fasterxml.jackson.core:jackson-annotations:${jackson.version}",
diff --git a/feature/src/main/features/sling-validation_sling-validation.json b/feature/src/main/features/sling-validation_sling-validation.json
index 0c0eca3..df53e3c 100644
--- a/feature/src/main/features/sling-validation_sling-validation.json
+++ b/feature/src/main/features/sling-validation_sling-validation.json
@@ -1,6 +1,6 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:sling-validation:${cms.version}",
+ "id":"org.apache.sling:org.apache.sling.cms.feature:slingfeature:sling-validation:${cms.version}",
"bundles":[
{
"id":"org.apache.sling:org.apache.sling.models.validation-impl:1.0.0",
diff --git a/feature/src/main/features/sling_sling.json b/feature/src/main/features/sling_sling.json
index 844fa5b..9c2a3d8 100644
--- a/feature/src/main/features/sling_sling.json
+++ b/feature/src/main/features/sling_sling.json
@@ -1,6 +1,6 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:sling:${cms.version}",
+ "id":"org.apache.sling:org.apache.sling.cms.feature:slingfeature:sling:${cms.version}",
"bundles":[
{
"id":"commons-codec:commons-codec:1.14",
diff --git a/feature/src/main/features/standalone_standalone.json b/feature/src/main/features/standalone_standalone.json
index d40be0a..e3eaae6 100644
--- a/feature/src/main/features/standalone_standalone.json
+++ b/feature/src/main/features/standalone_standalone.json
@@ -1,6 +1,6 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:standalone:${cms.version}",
+ "id":"org.apache.sling:org.apache.sling.cms.feature:slingfeature:standalone:${cms.version}",
"bundles":[
{
"id":"org.apache.felix:org.apache.felix.http.jetty:4.0.18",
diff --git a/feature/src/main/features/webapp_webapp.json b/feature/src/main/features/webapp_webapp.json
index 191ea0b..524d3af 100644
--- a/feature/src/main/features/webapp_webapp.json
+++ b/feature/src/main/features/webapp_webapp.json
@@ -1,4 +1,4 @@
{
- "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:webapp:${cms.version}"
+ "id":"org.apache.sling:org.apache.sling.cms.feature:slingfeature:webapp:${cms.version}"
}
\ No newline at end of file
diff --git a/feature/src/main/java/org/apache/sling/cms/feature/Main.java b/feature/src/main/java/org/apache/sling/cms/feature/Main.java
index 4d07560..390c6f3 100644
--- a/feature/src/main/java/org/apache/sling/cms/feature/Main.java
+++ b/feature/src/main/java/org/apache/sling/cms/feature/Main.java
@@ -22,8 +22,6 @@ import java.util.Arrays;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
-import java.util.jar.Attributes;
-import java.util.jar.Manifest;
public class Main {
public static void main(String[] args) throws IOException {
@@ -35,13 +33,14 @@ public class Main {
String version = properties.getProperty("version");
System.out.println("Version "+version);
- URL farUrl = Main.class.getClassLoader().getResource("lib/org.apache.sling.cms.fmconverter-"+version+"-slingcms_far.far");
- List<String> arguments = new ArrayList();
+ URL farUrl = Main.class.getClassLoader().getResource("lib/org.apache.sling.cms.feature-"+version+"-slingcms_far.far");
+ List<String> arguments = new ArrayList<>();
arguments.addAll(Arrays.asList(args));
if(!arguments.contains("-f")){
arguments.add("-f");
arguments.add(farUrl.toString());
}
+
org.apache.sling.feature.launcher.impl.Main.main(arguments.toArray(new String[arguments.size()]));
}
}
\ No newline at end of file
[sling-org-apache-sling-app-cms] 07/18: Updated file optim to 20 to
resolve start order issue
Posted by dk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
dklco pushed a commit to branch SLING-8913-multiple-instance-types
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git
commit 9cbf45452435352d051f13b5496f0db7961d4bf2
Author: Dan Klco <dk...@apache.org>
AuthorDate: Fri Jul 24 14:44:41 2020 -0400
Updated file optim to 20 to resolve start order issue
---
feature/src/main/features/cms_cms.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/feature/src/main/features/cms_cms.json b/feature/src/main/features/cms_cms.json
index 4bc76db..0a7cb95 100644
--- a/feature/src/main/features/cms_cms.json
+++ b/feature/src/main/features/cms_cms.json
@@ -52,7 +52,7 @@
},
{
"id":"org.apache.sling:org.apache.sling.fileoptim:0.9.4",
- "start-order":"15"
+ "start-order":"20"
},
{
"id":"org.apache.sling:org.apache.sling.resourcemerger:1.3.10",
[sling-org-apache-sling-app-cms] 03/18: Adding migrated Feature
model files
Posted by dk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
dklco pushed a commit to branch SLING-8913-multiple-instance-types
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git
commit c1b6527204d355037eae9c4fcccb46d422c624fa
Author: Dan Klco <dk...@apache.org>
AuthorDate: Fri Jul 24 11:36:27 2020 -0400
Adding migrated Feature model files
---
feature/pom.xml | 149 +++++++
feature/src/main/features/boot_boot.json | 134 +++++++
feature/src/main/features/cms_cms.json | 328 +++++++++++++++
.../src/main/features/composum_composum-nodes.json | 35 ++
.../src/main/features/healthcheck_healthcheck.json | 103 +++++
feature/src/main/features/launchpad_launchpad.json | 19 +
feature/src/main/features/oak_oak.json | 124 ++++++
feature/src/main/features/repoinit_repoinit.json | 74 ++++
feature/src/main/features/scripting_sling.json | 92 +++++
.../features/sling-caconfig_sling-caconfig.json | 28 ++
.../features/sling-discovery_sling-discovery.json | 45 +++
.../src/main/features/sling-event_sling-event.json | 32 ++
...els-jacksonexporter_models-jacksonexporter.json | 25 ++
.../sling-validation_sling-validation.json | 36 ++
feature/src/main/features/sling_sling.json | 443 +++++++++++++++++++++
.../src/main/features/standalone_standalone.json | 16 +
feature/src/main/features/webapp_webapp.json | 4 +
.../apache/sling/launchpad/LaunchpadReadyRule.java | 121 ++++++
.../java/org/apache/sling/launchpad/SmokeIT.java | 195 +++++++++
.../org/apache/sling/launchpad/package-info.java | 30 ++
20 files changed, 2033 insertions(+)
diff --git a/feature/pom.xml b/feature/pom.xml
new file mode 100644
index 0000000..6c70994
--- /dev/null
+++ b/feature/pom.xml
@@ -0,0 +1,149 @@
+<?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>
+ <artifactId>org.apache.sling.cms</artifactId>
+ <groupId>org.apache.sling</groupId>
+ <version>0.16.3-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>org.apache.sling.cms.fmconverter</artifactId>
+ <name>Apache Sling - CMS Feature Model</name>
+
+ <properties>
+ <sling.java.version>8</sling.java.version>
+ <IT.expected.bundles.count>208</IT.expected.bundles.count>
+ <cms.version>${project.parent.version}</cms.version>
+ <composum.version>1.12.0</composum.version>
+ <jackrabbit.version>2.20.0</jackrabbit.version>
+ <jackson.version>2.11.1</jackson.version>
+ <oak.version>1.26.0</oak.version>
+ <slf4j.version>1.7.25</slf4j.version>
+ </properties>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>ianal-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>verify-legal-files</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-clean-plugin</artifactId>
+ <configuration>
+ <filesets>
+ <fileset>
+ <directory>${basedir}</directory>
+ <includes>
+ <include>sling/**</include>
+ <include>coverage.ec</include>
+ <include>launcher/**</include>
+ </includes>
+ </fileset>
+ </filesets>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>slingfeature-maven-plugin</artifactId>
+ <version>1.3.0</version>
+ <extensions>true</extensions>
+ <configuration>
+ <framework>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.framework</artifactId>
+ <version>6.0.3</version>
+ </framework>
+ <aggregates>
+ <aggregate>
+ <classifier>slingcms</classifier>
+ <filesInclude>**/*.json</filesInclude>
+ <title>Sling CMS</title>
+ </aggregate>
+ </aggregates>
+ <scans>
+ <scan>
+ <includeClassifier>slingcms</includeClassifier>
+ </scan>
+ </scans>
+ <archives>
+ <archive>
+ <classifier>slingcms_far</classifier>
+ <includeClassifier>slingcms</includeClassifier>
+ </archive>
+ </archives>
+ </configuration>
+ <executions>
+ <execution>
+ <id>aggregate-features</id>
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>aggregate-features</goal>
+ <!-- <goal>analyse-features</goal> -->
+ <goal>attach-features</goal>
+ <goal>attach-featurearchives</goal>
+ </goals>
+ <configuration>
+ <replacePropertyVariables>cms.version,composum.version,jackrabbit.version,jackson.version,oak.version,slf4j.version</replacePropertyVariables>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <!-- Extend RAT configuration from parent pom -->
+ <groupId>org.apache.rat</groupId>
+ <artifactId>apache-rat-plugin</artifactId>
+ <configuration>
+ <excludes combine.children="append">
+ <!-- Exclude sling instance -->
+ <exclude>sling/**</exclude>
+ <exclude>launcher/**</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient</artifactId>
+ <version>4.5.10</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.utils</artifactId>
+ <version>1.11.2</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/feature/src/main/features/boot_boot.json b/feature/src/main/features/boot_boot.json
new file mode 100644
index 0000000..0fbf079
--- /dev/null
+++ b/feature/src/main/features/boot_boot.json
@@ -0,0 +1,134 @@
+
+{
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:boot:0.16.3-SNAPSHOT",
+ "variables":{
+ "slf4j.version":"1.7.25"
+ },
+ "bundles":[
+ {
+ "id":"org.apache.aries:org.apache.aries.util:1.1.3",
+ "start-order":"1"
+ },
+ {
+ "id":"org.apache.commons:commons-lang3:3.9",
+ "start-order":"1"
+ },
+ {
+ "id":"org.apache.felix:org.apache.felix.configadmin:1.9.16",
+ "start-order":"1"
+ },
+ {
+ "id":"org.apache.felix:org.apache.felix.converter:1.0.14",
+ "start-order":"1"
+ },
+ {
+ "id":"org.apache.felix:org.apache.felix.eventadmin:1.5.0",
+ "start-order":"1"
+ },
+ {
+ "id":"org.apache.geronimo.specs:geronimo-annotation_1.3_spec:1.1",
+ "start-order":"1"
+ },
+ {
+ "id":"org.apache.geronimo.specs:geronimo-atinject_1.0_spec:1.1",
+ "start-order":"1"
+ },
+ {
+ "id":"org.apache.geronimo.specs:geronimo-ws-metadata_2.0_spec:1.1.3",
+ "start-order":"1"
+ },
+ {
+ "id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.jaxb-impl:2.2.11_1",
+ "start-order":"1"
+ },
+ {
+ "id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.saaj-impl:1.3.23_2",
+ "start-order":"1"
+ },
+ {
+ "id":"org.apache.servicemix.specs:org.apache.servicemix.specs.jaxb-api-2.2:2.9.0",
+ "start-order":"1"
+ },
+ {
+ "id":"org.apache.servicemix.specs:org.apache.servicemix.specs.jaxws-api-2.2:2.9.0",
+ "start-order":"1"
+ },
+ {
+ "id":"org.apache.servicemix.specs:org.apache.servicemix.specs.saaj-api-1.3:2.8.0",
+ "start-order":"1"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.commons.johnzon:1.2.2",
+ "start-order":"1"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.commons.log:5.1.12",
+ "start-order":"1"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.commons.logservice:1.1.0",
+ "start-order":"1"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.commons.osgi:2.4.0",
+ "start-order":"1"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.installer.core:3.11.2",
+ "start-order":"1"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.installer.factory.configuration:1.3.2",
+ "start-order":"1"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.installer.provider.file:1.2.2",
+ "start-order":"1"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.javax.activation:0.1.0",
+ "start-order":"1"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.settings:1.3.10",
+ "start-order":"1"
+ },
+ {
+ "id":"org.jvnet.staxex:stax-ex:1.7.6",
+ "start-order":"1"
+ },
+ {
+ "id":"org.osgi:org.osgi.service.log:1.4.0",
+ "start-order":"1"
+ },
+ {
+ "id":"org.osgi:org.osgi.util.function:1.1.0",
+ "start-order":"1"
+ },
+ {
+ "id":"org.osgi:org.osgi.util.promise:1.1.1",
+ "start-order":"1"
+ },
+ {
+ "id":"org.osgi:org.osgi.util.pushstream:1.0.1",
+ "start-order":"1"
+ },
+ {
+ "id":"org.slf4j:jcl-over-slf4j:1.7.25",
+ "start-order":"1"
+ },
+ {
+ "id":"org.slf4j:log4j-over-slf4j:1.7.25",
+ "start-order":"1"
+ },
+ {
+ "id":"org.slf4j:slf4j-api:1.7.25",
+ "start-order":"1"
+ }
+ ],
+ "framework-properties":{
+ "sling.run.mode.install.options":"oak_tar,oak_mongo",
+ "localIndexDir":"${sling.home}/repository/index",
+ "repository.home":"${sling.home}/repository"
+ }
+}
\ No newline at end of file
diff --git a/feature/src/main/features/cms_cms.json b/feature/src/main/features/cms_cms.json
new file mode 100644
index 0000000..cd0a963
--- /dev/null
+++ b/feature/src/main/features/cms_cms.json
@@ -0,0 +1,328 @@
+
+{
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:cms:0.16.3-SNAPSHOT",
+ "variables":{
+ "oak.version":"1.26.0",
+ "cms.version":"0.16.3-SNAPSHOT"
+ },
+ "bundles":[
+ {
+ "id":"com.github.livesense:org.liveSense.fragment.sun.misc:1.0.5",
+ "start-order":"5"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.cms.api:0.16.3-SNAPSHOT",
+ "start-order":"5"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.cms.ui:0.16.3-SNAPSHOT",
+ "start-order":"5"
+ },
+ {
+ "id":"com.vladsch.flexmark:flexmark-osgi:0.61.24",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.cocoon:cocoon-serializers-charsets:1.0.2",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.commons:commons-compress:1.20",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.commons:commons-csv:1.8",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.commons:commons-email:1.5",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.commons:commons-math3:3.6.1",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.jackrabbit:oak-auth-external:1.26.0",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.jackrabbit:oak-auth-ldap:1.26.0",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.xmlbeans:3.0.2_1",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.fileoptim:0.9.4",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.resourcemerger:1.3.10",
+ "start-order":"15"
+ },
+ {
+ "id":"org.jsoup:jsoup:1.13.1",
+ "start-order":"15"
+ },
+ {
+ "id":"com.sun.mail:javax.mail:1.6.2",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.commons:commons-text:1.8",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.jasypt:1.9.3_1",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.poi:4.1.1_1",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.cms.core:0.16.3-SNAPSHOT",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.cms.reference:0.16.3-SNAPSHOT",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.cms.transformer:0.16.3-SNAPSHOT",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.commons.crypto:1.0.0",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.commons.html:1.1.0",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.commons.messaging.mail:1.0.0",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.commons.messaging:1.0.0",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.rewriter:1.2.2",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.tika:tika-bundle:1.22",
+ "start-order":"20"
+ },
+ {
+ "id":"org.codehaus.groovy:groovy-all:2.4.19",
+ "start-order":"20"
+ }
+ ],
+ "configurations":{
+ "org.apache.sling.servlets.get.DefaultGetServlet":{
+ "index.files":[
+ "index",
+ "index.html"
+ ],
+ "aliases":[
+ ""
+ ],
+ "enable.html":false,
+ "json.maximumresults:Integer":"200",
+ "enable.txt":false,
+ "enable.xml":false,
+ "index":false,
+ "enable.json":true,
+ "ecmaSuport":true
+ },
+ "org.apache.felix.hc.generalchecks.JmxAttributeCheck~index":{
+ "mbean.name":"org.apache.jackrabbit.oak:name=async,type=IndexStats",
+ "hc.tags":[
+ "oak",
+ "system-resources"
+ ],
+ "hc.name":"Jackrabbit Oak - Index",
+ "attribute.value.constraint":"false",
+ "attribute.name":"Failing",
+ "statusForFailedContraint":"CRITICAL"
+ },
+ "org.apache.felix.hc.generalchecks.JmxAttributeCheck~jobqueue":{
+ "mbean.name":"org.apache.sling:type=queues,name=AllQueues",
+ "hc.tags":[
+ "sling",
+ "system-resources"
+ ],
+ "hc.name":"Sling - Job Queue",
+ "attribute.value.constraint":"< 1000",
+ "attribute.name":"NumberOfQueuedJobs",
+ "statusForFailedContraint":"WARN"
+ },
+ "org.apache.felix.hc.generalchecks.JmxAttributeCheck~luceneindex":{
+ "mbean.name":"org.apache.jackrabbit.oak:name=Lucene Index statistics,type=LuceneIndex",
+ "hc.tags":[
+ "oak",
+ "system-resources"
+ ],
+ "hc.name":"Jackrabbit Oak - Lucene Index",
+ "attribute.value.constraint":"false",
+ "attribute.name":"Failing",
+ "statusForFailedContraint":"CRITICAL"
+ },
+ "org.apache.felix.hc.generalchecks.JmxAttributeCheck~requestdurationcritical":{
+ "mbean.name":"org.apache.sling:type=engine,service=RequestProcessor",
+ "hc.tags":[
+ "sling",
+ "system-resources"
+ ],
+ "hc.name":"Sling - StdDev Request Duration (CRITICAL)",
+ "attribute.value.constraint":"matches (1|2|3|4)?\\d?\\d\\..*",
+ "attribute.name":"StandardDeviationDurationMsec",
+ "statusForFailedContraint":"CRITICAL"
+ },
+ "org.apache.felix.hc.generalchecks.JmxAttributeCheck~requestdurationwarn":{
+ "mbean.name":"org.apache.sling:type=engine,service=RequestProcessor",
+ "hc.tags":[
+ "sling",
+ "system-resources"
+ ],
+ "hc.name":"Sling - StdDev Request Duration (WARN)",
+ "attribute.value.constraint":"matches (1)?\\d?\\d\\..*",
+ "attribute.name":"StandardDeviationDurationMsec",
+ "statusForFailedContraint":"WARN"
+ },
+ "org.apache.felix.hc.generalchecks.JmxAttributeCheck~slowqueries":{
+ "mbean.name":"org.apache.jackrabbit.oak:name=Oak Query Statistics,type=QueryStats",
+ "hc.tags":[
+ "oak",
+ "system-resources"
+ ],
+ "hc.name":"Jackrabbit Oak - Slow Queries",
+ "attribute.value.constraint":"0",
+ "attribute.name":"SlowQueriesQueueSize",
+ "statusForFailedContraint":"WARN"
+ },
+ "org.apache.sling.hc.support.DefaultLoginsHealthCheck~slingcms":{
+ "logins":[
+ "admin:admin"
+ ],
+ "hc.tags":[
+ "configuration"
+ ],
+ "hc.name":"Sling CMS - Default Logins Check"
+ },
+ "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-cms-error":{
+ "user.mapping":[
+ "org.apache.sling.cms.core:sling-cms-error=sling-cms-error",
+ "org.apache.sling.models.impl:sling-cms-error=sling-cms-error"
+ ]
+ },
+ "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-cms-metadata":{
+ "user.mapping":[
+ "org.apache.sling.cms.core:sling-cms-metadata=sling-cms-metadata"
+ ]
+ },
+ "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-cms-transformer":{
+ "user.mapping":[
+ "org.apache.sling.cms.transformer:sling-cms-transformer=sling-cms-transformer"
+ ]
+ },
+ "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-cms-ugc":{
+ "user.mapping":[
+ "org.apache.sling.cms.core:sling-cms-ugc=sling-cms-ugc"
+ ]
+ },
+ "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-cms-versionmgr":{
+ "user.mapping":[
+ "org.apache.sling.cms.core:sling-cms-versionmgr=sling-cms-versionmgr"
+ ]
+ },
+ "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling.rewriter":{
+ "user.mapping":[
+ "org.apache.sling.rewriter=sling-rewriter"
+ ]
+ }
+ },
+ "repoinit:TEXT|true":[
+ "",
+ "# CMS root paths",
+ "create path (sling:OrderedFolder) /etc/i18n",
+ "set ACL for everyone",
+ "allow jcr:read\ton /etc/i18n",
+ "end",
+ "create path (sling:OrderedFolder) /etc/taxonomy",
+ "set ACL for everyone",
+ "allow jcr:read\ton /etc/taxonomy",
+ "end",
+ "create path (sling:OrderedFolder) /static",
+ "set ACL for everyone",
+ "allow jcr:read\ton /static",
+ "end",
+ "create path (sling:OrderedFolder) /conf",
+ "set ACL for everyone",
+ "allow jcr:read\ton /conf",
+ "end",
+ "create path (sling:OrderedFolder) /content",
+ "create path (sling:OrderedFolder) /etc/usergenerated",
+ "set ACL for everyone",
+ "allow jcr:read on /etc/usergenerated",
+ "end",
+ "",
+ "# Groups",
+ "create path (rep:AuthorizableFolder) /home/groups",
+ "create path (rep:AuthorizableFolder) /home/groups/sling-cms",
+ "create group administrators with path sling-cms",
+ "set ACL for administrators",
+ "allow jcr:all on /",
+ "end",
+ "create group authors with path sling-cms",
+ "set ACL for authors",
+ "allow jcr:write,jcr:nodeTypeManagement,jcr:versionManagement on /content",
+ "allow jcr:write,jcr:nodeTypeManagement,jcr:versionManagement on /static",
+ "allow jcr:read on /",
+ "end",
+ "create group job-users with path sling-cms",
+ "create group taxonomy-users with path sling-cms",
+ "set ACL for taxonomy-users",
+ "allow jcr:write,jcr:nodeTypeManagement,jcr:versionManagement on /etc/taxonomy",
+ "end",
+ "create group ugc-users with path sling-cms",
+ "set ACL for ugc-users",
+ "allow jcr:write,jcr:nodeTypeManagement,jcr:versionManagement on /etc/usergenerated",
+ "end",
+ "",
+ "# Service users",
+ "create service user sling-cms-error",
+ "set ACL for sling-cms-error",
+ "allow\tjcr:read\ton /",
+ "end",
+ "create service user sling-cms-metadata",
+ "set ACL for sling-cms-metadata",
+ "allow jcr:write,jcr:nodeTypeManagement,jcr:versionManagement on /content",
+ "allow jcr:write,jcr:nodeTypeManagement,jcr:versionManagement on /static",
+ "allow jcr:read on /",
+ "end",
+ "create service user sling-cms-transformer",
+ "set ACL for sling-cms-transformer",
+ "allow jcr:write,jcr:nodeTypeManagement,jcr:versionManagement on /content",
+ "allow jcr:write,jcr:nodeTypeManagement,jcr:versionManagement on /static",
+ "allow jcr:read on /",
+ "end",
+ "create service user sling-rewriter",
+ "set ACL for sling-rewriter",
+ "allow jcr:read on /",
+ "end",
+ "create service user sling-cms-ugc",
+ "set ACL for sling-cms-ugc",
+ "allow jcr:write,jcr:nodeTypeManagement,jcr:versionManagement on /etc/usergenerated",
+ "end",
+ "create service user sling-cms-versionmgr",
+ "set ACL for sling-cms-versionmgr",
+ "allow jcr:write,jcr:nodeTypeManagement,jcr:versionManagement on /content",
+ "end"
+ ]
+}
\ No newline at end of file
diff --git a/feature/src/main/features/composum_composum-nodes.json b/feature/src/main/features/composum_composum-nodes.json
new file mode 100644
index 0000000..acaf4bd
--- /dev/null
+++ b/feature/src/main/features/composum_composum-nodes.json
@@ -0,0 +1,35 @@
+
+{
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:composum_composum-nodes:0.16.3-SNAPSHOT",
+ "variables":{
+ "composum.nodes.version":"1.12.0"
+ },
+ "bundles":[
+ {
+ "id":"com.composum.sling.core:composum-sling-core-commons:1.12.0",
+ "start-order":"20"
+ },
+ {
+ "id":"com.composum.sling.core:composum-sling-core-console:1.12.0",
+ "start-order":"20"
+ },
+ {
+ "id":"com.composum.sling.core:composum-sling-core-jslibs:1.12.0",
+ "start-order":"20"
+ },
+ {
+ "id":"com.composum.sling.core:composum-sling-package-manager:1.12.0",
+ "start-order":"20"
+ }
+ ],
+ "configurations":{
+ "org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment~composum":{
+ "whitelist.bundles":[
+ "com.composum.core.commons",
+ "com.composum.core.pckgmgr",
+ "com.composum.core.pckginstall"
+ ],
+ "whitelist.name":"composum"
+ }
+ }
+}
\ No newline at end of file
diff --git a/feature/src/main/features/healthcheck_healthcheck.json b/feature/src/main/features/healthcheck_healthcheck.json
new file mode 100644
index 0000000..06d0b5d
--- /dev/null
+++ b/feature/src/main/features/healthcheck_healthcheck.json
@@ -0,0 +1,103 @@
+
+{
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:healthcheck:0.16.3-SNAPSHOT",
+ "bundles":[
+ {
+ "id":"org.apache.felix:org.apache.felix.healthcheck.api:2.0.4",
+ "start-order":"5"
+ },
+ {
+ "id":"org.apache.felix:org.apache.felix.healthcheck.core:2.0.8",
+ "start-order":"5"
+ },
+ {
+ "id":"org.apache.felix:org.apache.felix.healthcheck.generalchecks:2.0.6",
+ "start-order":"5"
+ },
+ {
+ "id":"org.apache.felix:org.apache.felix.healthcheck.webconsoleplugin:2.0.2",
+ "start-order":"5"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.hc.api:1.0.4",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.hc.support:1.0.6",
+ "start-order":"20"
+ }
+ ],
+ "configurations":{
+ "org.apache.felix.hc.generalchecks.BundlesStartedCheck":{
+ "hc.tags":[
+ "bundles"
+ ]
+ },
+ "org.apache.felix.hc.generalchecks.CpuCheck":{
+ "hc.tags":[
+ "cpu",
+ "system-resources"
+ ],
+ "cpuPercentageThresholdWarn":95
+ },
+ "org.apache.felix.hc.generalchecks.DiskSpaceCheck":{
+ "hc.tags":[
+ "diskspace",
+ "system-resources"
+ ],
+ "diskPaths":[
+ "."
+ ]
+ },
+ "org.apache.felix.hc.generalchecks.FrameworkStartCheck":{
+ "hc.tags":[
+ "systemalive"
+ ],
+ "targetStartLevel:Integer":"30"
+ },
+ "org.apache.felix.hc.generalchecks.MemoryCheck":{
+ "hc.tags":[
+ "memory",
+ "system-resources"
+ ],
+ "heapUsedPercentageThresholdCritical":100,
+ "heapUsedPercentageThresholdWarn":95
+ },
+ "org.apache.felix.hc.generalchecks.ServicesCheck":{
+ "hc.tags":[
+ "systemalive"
+ ],
+ "services.list":[
+ "org.apache.sling.jcr.api.SlingRepository",
+ "org.apache.sling.engine.auth.Authenticator",
+ "org.apache.sling.api.resource.ResourceResolverFactory",
+ "org.apache.sling.api.servlets.ServletResolver",
+ "javax.script.ScriptEngineManager"
+ ]
+ },
+ "org.apache.felix.hc.generalchecks.ThreadUsageCheck":{
+ "hc.tags":[
+ "threads",
+ "cpu",
+ "system-resources"
+ ]
+ },
+ "org.apache.felix.hc.core.impl.filter.ServiceUnavailableFilter~startupandshutdown":{
+ "osgi.http.whiteboard.filter.regex":"(?!/system/).*",
+ "avoid404DuringStartup":true,
+ "service.ranking:Integer":"2147483647",
+ "includeExecutionResult":false,
+ "osgi.http.whiteboard.context.select":"(osgi.http.whiteboard.context.name=*)",
+ "tags":[
+ "systemalive"
+ ],
+ "autoDisableFilter":true,
+ "responseTextFor503":"classpath:org.apache.sling.cms.ui:/content/startup/index.html"
+ },
+ "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~hc-support":{
+ "user.mapping":[
+ "org.apache.sling.hc.support=sling-readall"
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/feature/src/main/features/launchpad_launchpad.json b/feature/src/main/features/launchpad_launchpad.json
new file mode 100644
index 0000000..acdb0b8
--- /dev/null
+++ b/feature/src/main/features/launchpad_launchpad.json
@@ -0,0 +1,19 @@
+
+{
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:launchpad:0.16.3-SNAPSHOT",
+ "bundles":[
+ {
+ "id":"org.apache.sling:org.apache.sling.launchpad.base:6.0.2-2.6.36",
+ "start-order":"20"
+ }
+ ],
+ "framework-properties":{
+ "sling.jre.java.xml":",javax.xml;version=\"2.1.0\",javax.xml.datatype;uses:=\"javax.xml.namespace\";version=\"2.1.0\",javax.xml.namespace;version=\"2.1.0\",javax.xml.parsers;uses:=\"javax.xml.validation,org.w3c.dom,org.xml.sax,org.xml.sax.helpers\";version=\"2.1.0\",javax.xml.stream;uses:=\"javax.xml.namespace,javax.xml.stream.events,javax.xml.stream.util,javax.xml.transform\";version=\"1.0.0\",javax.xml.stream.events;uses:=\"javax.xml.namespace,javax.xml.stream\";version=\"1.0.0 [...]
+ "felix.systempackages.calculate.uses":"true",
+ "org.osgi.framework.system.packages":"org.osgi.framework;version=\"1.9\",org.osgi.framework.dto;version=\"1.8\";uses:=\"org.osgi.dto\",org.osgi.framework.hooks.bundle;version=\"1.1\";uses:=\"org.osgi.framework\",org.osgi.framework.hooks.resolver;version=\"1.0\";uses:=\"org.osgi.framework.wiring\",org.osgi.framework.hooks.service;version=\"1.1\";uses:=\"org.osgi.framework\",org.osgi.framework.hooks.weaving;version=\"1.1\";uses:=\"org.osgi.framework.wiring\",org.osgi.framework.laun [...]
+ "felix.systempackages.substitution":"true",
+ "sling.jre-jpms":"{dollar}{felix.jpms.java.base}{dollar}{felix.jpms.java.compiler}{dollar}{felix.jpms.java.datatransfer}{dollar}{felix.jpms.java.desktop}{dollar}{felix.jpms.java.instrument}{dollar}{felix.jpms.java.logging}{dollar}{felix.jpms.java.management}{dollar}{felix.jpms.java.management.rmi}{dollar}{felix.jpms.java.naming}{dollar}{felix.jpms.java.net.http}{dollar}{felix.jpms.java.prefs}{dollar}{felix.jpms.java.rmi}{dollar}{felix.jpms.java.scripting}{dollar}{felix.jpms.java. [...]
+ "sling.jpms.java.xml":"{dollar}{sling.jre.java.xml},javax.xml.catalog;uses:=\"javax.xml.namespace\";version=\"1.0.0\"",
+ "sling.jre-1.8":",java.applet;version=\"{dollar}{felix.detect.java.version}\",java.awt;version=\"{dollar}{felix.detect.java.version}\",java.awt.color;version=\"{dollar}{felix.detect.java.version}\",java.awt.datatransfer;version=\"{dollar}{felix.detect.java.version}\",java.awt.dnd;version=\"{dollar}{felix.detect.java.version}\",java.awt.event;version=\"{dollar}{felix.detect.java.version}\",java.awt.font;version=\"{dollar}{felix.detect.java.version}\",java.awt.geom;version=\"{dolla [...]
+ }
+}
\ No newline at end of file
diff --git a/feature/src/main/features/oak_oak.json b/feature/src/main/features/oak_oak.json
new file mode 100644
index 0000000..27f959c
--- /dev/null
+++ b/feature/src/main/features/oak_oak.json
@@ -0,0 +1,124 @@
+
+{
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:oak:0.16.3-SNAPSHOT",
+ "variables":{
+ "oak.version":"1.26.0"
+ },
+ "bundles":[
+ {
+ "id":"org.apache.felix:org.apache.felix.jaas:1.0.2",
+ "start-order":"10"
+ },
+ {
+ "id":"org.apache.jackrabbit:oak-api:1.26.0",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.jackrabbit:oak-blob-plugins:1.26.0",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.jackrabbit:oak-blob:1.26.0",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.jackrabbit:oak-commons:1.26.0",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.jackrabbit:oak-core-spi:1.26.0",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.jackrabbit:oak-core:1.26.0",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.jackrabbit:oak-jackrabbit-api:1.26.0",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.jackrabbit:oak-jcr:1.26.0",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.jackrabbit:oak-lucene:1.26.0",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.jackrabbit:oak-query-spi:1.26.0",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.jackrabbit:oak-security-spi:1.26.0",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.jackrabbit:oak-store-composite:1.26.0",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.jackrabbit:oak-store-document:1.26.0",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.jackrabbit:oak-store-spi:1.26.0",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.jcr.oak.server:1.2.4",
+ "start-order":"16"
+ },
+ {
+ "id":"org.apache.jackrabbit:oak-segment-tar:1.26.0",
+ "run-modes":"oak_tar",
+ "start-order":"15"
+ }
+ ],
+ "configurations":{
+ "org.apache.felix.jaas.ConfigurationSpi":{
+ "jaas.defaultRealmName":"jackrabbit.oak",
+ "jaas.configProviderName":"FelixJaasProvider"
+ },
+ "org.apache.jackrabbit.oak.security.authentication.AuthenticationConfigurationImpl":{
+ "org.apache.jackrabbit.oak.authentication.configSpiName":"FelixJaasProvider"
+ },
+ "org.apache.jackrabbit.oak.security.user.RandomAuthorizableNodeName":{
+ "length:Integer":"21"
+ },
+ "org.apache.jackrabbit.oak.security.user.UserConfigurationImpl":{
+ "groupsPath":"/home/groups",
+ "defaultDepth":"1",
+ "importBehavior":"besteffort",
+ "usersPath":"/home/users"
+ },
+ "org.apache.jackrabbit.oak.spi.security.user.action.DefaultAuthorizableActionProvider":{
+ "userPrivilegeNames":[
+ "jcr:all"
+ ],
+ "groupPrivilegeNames":[
+ "jcr:read"
+ ],
+ "enabledActions":[
+ "org.apache.jackrabbit.oak.spi.security.user.action.AccessControlAction"
+ ]
+ },
+ "org.apache.felix.jaas.Configuration.factory~GuestLoginModule":{
+ "jaas.controlFlag":"optional",
+ "jaas.classname":"org.apache.jackrabbit.oak.spi.security.authentication.GuestLoginModule",
+ "jaas.ranking:Integer":"300"
+ },
+ "org.apache.felix.jaas.Configuration.factory~LoginModuleImpl":{
+ "jaas.controlFlag":"required",
+ "jaas.classname":"org.apache.jackrabbit.oak.security.authentication.user.LoginModuleImpl"
+ },
+ "org.apache.felix.jaas.Configuration.factory~TokenLoginModule":{
+ "jaas.controlFlag":"sufficient",
+ "jaas.classname":"org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule",
+ "jaas.ranking:Integer":"200"
+ },
+ "org.apache.jackrabbit.oak.segment.SegmentNodeStoreService":{
+ "name":"Default NodeStore"
+ }
+ }
+}
\ No newline at end of file
diff --git a/feature/src/main/features/repoinit_repoinit.json b/feature/src/main/features/repoinit_repoinit.json
new file mode 100644
index 0000000..8327bc9
--- /dev/null
+++ b/feature/src/main/features/repoinit_repoinit.json
@@ -0,0 +1,74 @@
+
+{
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:repoinit:0.16.3-SNAPSHOT",
+ "bundles":[
+ {
+ "id":"org.apache.sling:org.apache.sling.jcr.repoinit:1.1.24",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.provisioning.model:1.8.6",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.repoinit.parser:1.6.2",
+ "start-order":"20"
+ }
+ ],
+ "repoinit:TEXT|true":[
+ "# general",
+ "create path (sling:OrderedFolder) /content",
+ "set ACL for everyone",
+ "allow jcr:read\ton /content",
+ "end",
+ "",
+ "# sling-mapping",
+ "create service user sling-mapping",
+ "",
+ "set ACL for sling-mapping",
+ "allow jcr:read on /",
+ "end",
+ "",
+ "# sling-readall",
+ "create service user sling-readall",
+ "",
+ "set ACL for sling-readall",
+ "allow jcr:read on /",
+ "end",
+ "",
+ "# sling-xss",
+ "create service user sling-xss",
+ "",
+ "create path (sling:Folder) /apps/sling/xss",
+ "",
+ "set ACL for sling-xss",
+ "allow jcr:read on /apps/sling/xss",
+ "end",
+ "",
+ "# sling-i18n",
+ "create service user sling-i18n",
+ "",
+ "set ACL for sling-i18n",
+ "allow jcr:read on /",
+ "end",
+ "",
+ "# sling-jcr-install",
+ "create service user sling-jcr-install",
+ "",
+ "# used for config OSGi writeback",
+ "create path (sling:Folder) /apps/sling/install",
+ "",
+ "set ACL for sling-jcr-install",
+ "allow\tjcr:read\ton\t/",
+ "allow\trep:write\ton /apps/sling/install",
+ "end",
+ "",
+ "# content-package installer",
+ "create service user sling-package-install",
+ "",
+ "set ACL for sling-package-install",
+ "allow\tjcr:all on\t/",
+ "allow jcr:namespaceManagement,jcr:nodeTypeDefinitionManagement on :repository",
+ "end"
+ ]
+}
\ No newline at end of file
diff --git a/feature/src/main/features/scripting_sling.json b/feature/src/main/features/scripting_sling.json
new file mode 100644
index 0000000..915a006
--- /dev/null
+++ b/feature/src/main/features/scripting_sling.json
@@ -0,0 +1,92 @@
+
+{
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:scripting_sling:0.16.3-SNAPSHOT",
+ "bundles":[
+ {
+ "id":"org.antlr:antlr4-runtime:4.7.2",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.rhino:1.7.10_1",
+ "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.3.0",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.scripting.el-api:1.0.2",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.scripting.javascript:3.1.2",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.scripting.jsp-api:1.0.2",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.scripting.jsp.taglib:2.4.0",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.scripting.jsp:2.5.0",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.scripting.sightly.compiler.java:1.2.0-1.4.0",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.scripting.sightly.compiler:1.2.6-1.4.0",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.scripting.sightly.js.provider:1.2.0",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.scripting.sightly.repl:1.0.6",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.scripting.sightly.runtime:1.2.2-1.4.0",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.scripting.sightly:1.4.0-1.4.0",
+ "start-order":"20"
+ }
+ ],
+ "configurations":{
+ "org.apache.sling.scripting.core.impl.ScriptCacheImpl":{
+ "org.apache.sling.scripting.cache.additional_extensions":[
+ "js"
+ ]
+ },
+ "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~scripting":{
+ "user.mapping":[
+ "org.apache.sling.scripting.core=sling-scripting",
+ "org.apache.sling.scripting.sightly.js.provider=sling-scripting"
+ ]
+ }
+ },
+ "repoinit:TEXT|true":[
+ "#<<< SLING-5848 - Define service user and ACLs for Scripting",
+ "create service user sling-scripting",
+ "",
+ "create path (sling:Folder) /libs",
+ "create path (sling:Folder) /apps",
+ "",
+ "set ACL for sling-scripting",
+ "deny jcr:all on /",
+ "allow jcr:read on /libs,/apps",
+ "end",
+ "# SLING-5848 - Define service user and ACLs for Scripting >>>"
+ ]
+}
\ No newline at end of file
diff --git a/feature/src/main/features/sling-caconfig_sling-caconfig.json b/feature/src/main/features/sling-caconfig_sling-caconfig.json
new file mode 100644
index 0000000..91d46b2
--- /dev/null
+++ b/feature/src/main/features/sling-caconfig_sling-caconfig.json
@@ -0,0 +1,28 @@
+
+{
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:sling-caconfig:0.16.3-SNAPSHOT",
+ "bundles":[
+ {
+ "id":"org.apache.sling:org.apache.sling.caconfig.api:1.2.0",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.caconfig.impl:1.5.0",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.caconfig.spi:1.3.4",
+ "start-order":"20"
+ }
+ ],
+ "configurations":{
+ "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-caconfig":{
+ "user.mapping":[
+ "org.apache.sling.caconfig.impl=sling-readall"
+ ]
+ }
+ },
+ "repoinit:TEXT|true":[
+ "create path (sling:Folder) /conf"
+ ]
+}
\ No newline at end of file
diff --git a/feature/src/main/features/sling-discovery_sling-discovery.json b/feature/src/main/features/sling-discovery_sling-discovery.json
new file mode 100644
index 0000000..e4da74a
--- /dev/null
+++ b/feature/src/main/features/sling-discovery_sling-discovery.json
@@ -0,0 +1,45 @@
+
+{
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:sling-discovery:0.16.3-SNAPSHOT",
+ "bundles":[
+ {
+ "id":"org.apache.sling:org.apache.sling.discovery.api:1.0.4",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.discovery.base:2.0.8",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.discovery.commons:1.0.20",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.discovery.oak:1.2.28",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.discovery.support:1.0.4",
+ "start-order":"20"
+ }
+ ],
+ "configurations":{
+ "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling.discovery":{
+ "user.mapping":[
+ "org.apache.sling.discovery.commons=sling-discovery",
+ "org.apache.sling.discovery.base=sling-discovery",
+ "org.apache.sling.discovery.oak=sling-discovery"
+ ]
+ }
+ },
+ "repoinit:TEXT|true":[
+ "create service user sling-discovery",
+ "",
+ "create path (sling:Folder) /var/discovery",
+ "create path (sling:Folder) /var/discovery/oak",
+ "",
+ "set ACL for sling-discovery",
+ "allow jcr:read,rep:write on /var/discovery",
+ "end"
+ ]
+}
\ No newline at end of file
diff --git a/feature/src/main/features/sling-event_sling-event.json b/feature/src/main/features/sling-event_sling-event.json
new file mode 100644
index 0000000..2b236eb
--- /dev/null
+++ b/feature/src/main/features/sling-event_sling-event.json
@@ -0,0 +1,32 @@
+
+{
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:sling-event:0.16.3-SNAPSHOT",
+ "bundles":[
+ {
+ "id":"org.apache.sling:org.apache.sling.event.dea:1.1.4",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.event:4.2.12",
+ "start-order":"20"
+ }
+ ],
+ "configurations":{
+ "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling.event":{
+ "user.mapping":[
+ "org.apache.sling.event=sling-event",
+ "org.apache.sling.event.dea=sling-event"
+ ]
+ }
+ },
+ "repoinit:TEXT|true":[
+ "create service user sling-event",
+ "",
+ "create path (sling:Folder) /var",
+ "create path (sling:Folder) /var/eventing",
+ "",
+ "set ACL for sling-event",
+ "allow jcr:read,rep:write on /var/eventing",
+ "end"
+ ]
+}
\ No newline at end of file
diff --git a/feature/src/main/features/sling-models-jacksonexporter_models-jacksonexporter.json b/feature/src/main/features/sling-models-jacksonexporter_models-jacksonexporter.json
new file mode 100644
index 0000000..d7b04f6
--- /dev/null
+++ b/feature/src/main/features/sling-models-jacksonexporter_models-jacksonexporter.json
@@ -0,0 +1,25 @@
+
+{
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:sling-models-jacksonexporter_models-jacksonexporter:0.16.3-SNAPSHOT",
+ "variables":{
+ "jackson.version":"2.11.1"
+ },
+ "bundles":[
+ {
+ "id":"com.fasterxml.jackson.core:jackson-annotations:2.11.1",
+ "start-order":"20"
+ },
+ {
+ "id":"com.fasterxml.jackson.core:jackson-core:2.11.1",
+ "start-order":"20"
+ },
+ {
+ "id":"com.fasterxml.jackson.core:jackson-databind:2.11.1",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.models.jacksonexporter:1.0.8",
+ "start-order":"20"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/feature/src/main/features/sling-validation_sling-validation.json b/feature/src/main/features/sling-validation_sling-validation.json
new file mode 100644
index 0000000..336a578
--- /dev/null
+++ b/feature/src/main/features/sling-validation_sling-validation.json
@@ -0,0 +1,36 @@
+
+{
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:sling-validation:0.16.3-SNAPSHOT",
+ "bundles":[
+ {
+ "id":"org.apache.sling:org.apache.sling.models.validation-impl:1.0.0",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.validation.api:1.0.0",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.validation.core:1.0.4",
+ "start-order":"20"
+ }
+ ],
+ "configurations":{
+ "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~validation":{
+ "user.mapping":[
+ "org.apache.sling.validation.core=sling-validation"
+ ]
+ }
+ },
+ "repoinit:TEXT|true":[
+ "create service user sling-validation",
+ "",
+ "create path (sling:Folder) /apps",
+ "create path (sling:Folder) /libs",
+ "",
+ "set ACL for sling-validation",
+ "allow jcr:read on /apps",
+ "allow jcr:read on /libs",
+ "end"
+ ]
+}
\ No newline at end of file
diff --git a/feature/src/main/features/sling_sling.json b/feature/src/main/features/sling_sling.json
new file mode 100644
index 0000000..250f14b
--- /dev/null
+++ b/feature/src/main/features/sling_sling.json
@@ -0,0 +1,443 @@
+
+{
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:sling:0.16.3-SNAPSHOT",
+ "variables":{
+ "jackrabbit.version":"2.20.0"
+ },
+ "bundles":[
+ {
+ "id":"commons-codec:commons-codec:1.14",
+ "start-order":"20"
+ },
+ {
+ "id":"commons-collections:commons-collections:3.2.2",
+ "start-order":"20"
+ },
+ {
+ "id":"javax.mail:mail:1.5.0-b01",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.commons:commons-collections4:4.4",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.commons:commons-math:2.2",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.geronimo.bundles:jstl:1.2_1",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.httpcomponents:httpclient-osgi:4.5.10",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.httpcomponents:httpcore-osgi:4.4.12",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.jackrabbit.vault:org.apache.jackrabbit.vault:3.4.4",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.adapter:2.1.10",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.auth.form:1.0.20",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.bundleresource.impl:2.3.2",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.commons.classloader:1.4.4",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.commons.compiler:2.4.0",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.commons.fsclassloader:1.0.12",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.commons.mime:2.2.2",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.commons.scheduler:2.7.6",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.commons.threads:3.2.20",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.engine:2.7.2",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.fsresource:2.1.16",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.i18n:2.5.14",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.installer.console:1.1.0",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.installer.factory.packages:1.0.4",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.installer.hc:2.0.2",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.installer.provider.jcr:3.2.2",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.jcr.contentloader:2.3.0",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.jcr.resource:3.0.22",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.models.api:1.3.8",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.models.impl:1.4.12",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.resourceresolver:1.6.16",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.serviceuser.webconsole:1.0.2",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.serviceusermapper:1.4.4",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.servlets.get:2.1.40",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.servlets.post:2.3.36",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.servlets.resolver:2.7.2",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.xss:2.2.2",
+ "start-order":"20"
+ },
+ {
+ "id":"org.apache.felix:org.apache.felix.metatype:1.2.2",
+ "start-order":"4"
+ },
+ {
+ "id":"org.apache.felix:org.apache.felix.scr:2.1.20",
+ "start-order":"4"
+ },
+ {
+ "id":"commons-fileupload:commons-fileupload:1.4",
+ "start-order":"5"
+ },
+ {
+ "id":"commons-io:commons-io:2.6",
+ "start-order":"5"
+ },
+ {
+ "id":"org.apache.aries.jmx:org.apache.aries.jmx.api:1.1.5",
+ "start-order":"5"
+ },
+ {
+ "id":"org.apache.aries.jmx:org.apache.aries.jmx.core:1.1.8",
+ "start-order":"5"
+ },
+ {
+ "id":"org.apache.aries.jmx:org.apache.aries.jmx.whiteboard:1.2.0",
+ "start-order":"5"
+ },
+ {
+ "id":"org.apache.felix:org.apache.felix.bundlerepository:2.0.10",
+ "start-order":"5"
+ },
+ {
+ "id":"org.apache.felix:org.apache.felix.http.whiteboard:4.0.0",
+ "start-order":"5"
+ },
+ {
+ "id":"org.apache.felix:org.apache.felix.inventory:1.0.6",
+ "start-order":"5"
+ },
+ {
+ "id":"org.apache.felix:org.apache.felix.prefs:1.1.0",
+ "start-order":"5"
+ },
+ {
+ "id":"org.apache.felix:org.apache.felix.webconsole.plugins.ds:2.1.0",
+ "start-order":"5"
+ },
+ {
+ "id":"org.apache.felix:org.apache.felix.webconsole.plugins.event:1.1.8",
+ "start-order":"5"
+ },
+ {
+ "id":"org.apache.felix:org.apache.felix.webconsole.plugins.memoryusage:1.0.10",
+ "start-order":"5"
+ },
+ {
+ "id":"org.apache.felix:org.apache.felix.webconsole.plugins.obr:1.0.4",
+ "start-order":"5"
+ },
+ {
+ "id":"org.apache.felix:org.apache.felix.webconsole.plugins.packageadmin:1.0.4",
+ "start-order":"5"
+ },
+ {
+ "id":"org.apache.felix:org.apache.felix.webconsole:4.5.0",
+ "start-order":"5"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.api:2.22.0",
+ "start-order":"5"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.auth.core:1.4.8",
+ "start-order":"5"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.commons.log.webconsole:1.0.0",
+ "start-order":"5"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.extensions.threaddump:0.2.2",
+ "start-order":"5"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.extensions.webconsolebranding:1.0.2",
+ "start-order":"5"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.extensions.webconsolesecurityprovider:1.2.4",
+ "start-order":"5"
+ },
+ {
+ "id":"org.apache.felix:org.apache.felix.http.sslfilter:1.2.6",
+ "start-order":"10"
+ },
+ {
+ "id":"org.apache.pdfbox:fontbox:2.0.17",
+ "start-order":"10"
+ },
+ {
+ "id":"org.apache.pdfbox:jempbox:1.8.16",
+ "start-order":"10"
+ },
+ {
+ "id":"org.apache.pdfbox:pdfbox:2.0.17",
+ "start-order":"10"
+ },
+ {
+ "id":"org.apache.tika:tika-core:1.24",
+ "start-order":"10"
+ },
+ {
+ "id":"com.google.guava:guava:15.0",
+ "start-order":"15"
+ },
+ {
+ "id":"io.dropwizard.metrics:metrics-core:3.2.6",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.jackrabbit:jackrabbit-data:2.20.0",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.jackrabbit:jackrabbit-jcr-commons:2.20.0",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.jackrabbit:jackrabbit-jcr-rmi:2.20.0",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.jackrabbit:jackrabbit-spi-commons:2.20.0",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.jackrabbit:jackrabbit-spi:2.20.0",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.jackrabbit:jackrabbit-webdav:2.20.0",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.commons.metrics:1.2.8",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.jcr.api:2.4.0",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.jcr.base:3.1.0",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.jcr.davex:1.3.10",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.jcr.jackrabbit.accessmanager:3.0.4",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.jcr.jackrabbit.usermanager:2.2.8",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.jcr.jcr-wrapper:2.0.0",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.jcr.registration:1.0.6",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.jcr.webconsole:1.0.2",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.jcr.webdav:2.3.8",
+ "start-order":"15"
+ },
+ {
+ "id":"org.apache.sling:org.apache.sling.resource.filter:1.0.0",
+ "start-order":"15"
+ }
+ ],
+ "configurations":{
+ "org.apache.sling.commons.log.LogManager":{
+ "org.apache.sling.commons.log.packagingDataEnabled":true,
+ "org.apache.sling.commons.log.pattern":"%d{dd.MM.yyyy HH:mm:ss.SSS} *%level* [%thread] %logger %msg%n",
+ "org.apache.sling.commons.log.level":"info",
+ "org.apache.sling.commons.log.file":"logs/error.log",
+ "org.apache.sling.commons.log.file.number:Integer":"7",
+ "org.apache.sling.commons.log.file.size":"'.'yyyy-MM-dd"
+ },
+ "org.apache.sling.engine.impl.log.RequestLogger":{
+ "access.log.enabled":true,
+ "request.log.outputtype:Integer":"0",
+ "access.log.output":"log.access",
+ "request.log.output":"log.request",
+ "request.log.enabled":true,
+ "access.log.outputtype:Integer":"0"
+ },
+ "org.apache.sling.jcr.davex.impl.servlets.SlingDavExServlet":{
+ "alias":"/server"
+ },
+ "org.apache.sling.jcr.webdav.impl.servlets.SimpleWebDavServlet":{
+ "dav.root":"/dav"
+ },
+ "org.apache.sling.commons.log.LogManager.factory.config~access.log":{
+ "org.apache.sling.commons.log.pattern":"%msg%n",
+ "org.apache.sling.commons.log.names":[
+ "log.access"
+ ],
+ "org.apache.sling.commons.log.level":"info",
+ "org.apache.sling.commons.log.file":"logs/access.log"
+ },
+ "org.apache.sling.commons.log.LogManager.factory.config~request.log":{
+ "org.apache.sling.commons.log.pattern":"%msg%n",
+ "org.apache.sling.commons.log.names":[
+ "log.request"
+ ],
+ "org.apache.sling.commons.log.level":"info",
+ "org.apache.sling.commons.log.file":"logs/request.log"
+ },
+ "org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment~sling":{
+ "whitelist.bundles":[
+ "org.apache.sling.discovery.commons",
+ "org.apache.sling.discovery.base",
+ "org.apache.sling.discovery.oak",
+ "org.apache.sling.extensions.webconsolesecurityprovider",
+ "org.apache.sling.i18n",
+ "org.apache.sling.jcr.base",
+ "org.apache.sling.jcr.contentloader",
+ "org.apache.sling.jcr.jackrabbit.usermanager",
+ "org.apache.sling.jcr.oak.server",
+ "org.apache.sling.jcr.repoinit",
+ "org.apache.sling.jcr.webconsole",
+ "org.apache.sling.servlets.post",
+ "org.apache.sling.serviceuser.webconsole"
+ ],
+ "whitelist.name":"sling"
+ },
+ "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~i18n":{
+ "user.mapping":[
+ "org.apache.sling.i18n=sling-i18n"
+ ]
+ },
+ "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~installer-factories":{
+ "user.mapping":[
+ "org.apache.sling.installer.factory.packages=sling-package-install"
+ ]
+ },
+ "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~jcr-install":{
+ "user.mapping":[
+ "org.apache.sling.installer.provider.jcr=sling-jcr-install"
+ ]
+ },
+ "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~jcr-resource":{
+ "user.mapping":[
+ "org.apache.sling.jcr.resource:validation=sling-readall"
+ ]
+ },
+ "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~observation":{
+ "user.mapping":[
+ "org.apache.sling.jcr.resource:observation=sling-readall"
+ ]
+ },
+ "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~resourceresolver":{
+ "user.mapping":[
+ "org.apache.sling.resourceresolver:mapping=sling-mapping",
+ "org.apache.sling.resourceresolver:hierarchy=sling-readall",
+ "org.apache.sling.resourceresolver:observation=sling-readall",
+ "org.apache.sling.resourceresolver:console=sling-readall"
+ ]
+ },
+ "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~servletsresolver":{
+ "user.mapping":[
+ "org.apache.sling.servlets.resolver:console=sling-readall",
+ "org.apache.sling.servlets.resolver:scripts=sling-scripting"
+ ]
+ },
+ "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~xss":{
+ "user.mapping":[
+ "org.apache.sling.xss=sling-xss"
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/feature/src/main/features/standalone_standalone.json b/feature/src/main/features/standalone_standalone.json
new file mode 100644
index 0000000..e44e70d
--- /dev/null
+++ b/feature/src/main/features/standalone_standalone.json
@@ -0,0 +1,16 @@
+
+{
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:standalone:0.16.3-SNAPSHOT",
+ "bundles":[
+ {
+ "id":"org.apache.felix:org.apache.felix.http.jetty:4.0.18",
+ "run-modes":":standalone",
+ "start-order":"5"
+ },
+ {
+ "id":"org.apache.felix:org.apache.felix.http.servlet-api:1.1.2",
+ "run-modes":":standalone",
+ "start-order":"5"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/feature/src/main/features/webapp_webapp.json b/feature/src/main/features/webapp_webapp.json
new file mode 100644
index 0000000..f1e6022
--- /dev/null
+++ b/feature/src/main/features/webapp_webapp.json
@@ -0,0 +1,4 @@
+
+{
+ "id":"org.apache.sling:org.apache.sling.cms.fmconverter:slingfeature:webapp:0.16.3-SNAPSHOT"
+}
\ No newline at end of file
diff --git a/feature/src/test/java/org/apache/sling/launchpad/LaunchpadReadyRule.java b/feature/src/test/java/org/apache/sling/launchpad/LaunchpadReadyRule.java
new file mode 100644
index 0000000..d6b6d6f
--- /dev/null
+++ b/feature/src/test/java/org/apache/sling/launchpad/LaunchpadReadyRule.java
@@ -0,0 +1,121 @@
+/*
+ * 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.
+ */
+package org.apache.sling.launchpad;
+
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.net.ConnectException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.http.HttpResponse;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.junit.rules.ExternalResource;
+
+public class LaunchpadReadyRule extends ExternalResource {
+
+ private static final int TRIES = 60;
+ private static final int WAIT_BETWEEN_TRIES_MILLIS = 1000;
+
+ private final List<Check> checks = new ArrayList<>();
+
+ public LaunchpadReadyRule(int launchpadPort) {
+
+ checks.add(new Check("http://localhost:" + launchpadPort + "/server/default/jcr:root/content"));
+ checks.add(new Check("http://localhost:" + launchpadPort + "/content/starter.html") {
+ @Override
+ public String runCheck(HttpResponse response) throws Exception {
+ try (InputStreamReader isr = new InputStreamReader(response.getEntity().getContent());
+ BufferedReader reader = new BufferedReader(isr)) {
+
+ String line;
+ while ((line = reader.readLine()) != null) {
+ if (line.contains("Do not remove this comment, used for Starter integration tests")) {
+ return null;
+ }
+ }
+ }
+
+ return "Did not find 'ready' marker in the response body";
+ }
+ });
+ }
+
+ @Override
+ protected void before() throws Throwable {
+
+ try (CloseableHttpClient client = HttpClients.createDefault()) {
+ for (Check check : checks) {
+ runCheck(client, check);
+ }
+ }
+ }
+
+ private void runCheck(CloseableHttpClient client, Check check) throws Exception {
+
+ String lastFailure = null;
+ HttpGet get = new HttpGet(check.getUrl());
+
+ for (int i = 0; i < TRIES; i++) {
+ try (CloseableHttpResponse response = client.execute(get)) {
+
+ if (response.getStatusLine().getStatusCode() != 200) {
+ lastFailure = "Status code is " + response.getStatusLine();
+ Thread.sleep(WAIT_BETWEEN_TRIES_MILLIS);
+ continue;
+ }
+
+ lastFailure = check.runCheck(response);
+ if (lastFailure == null) {
+ return;
+ }
+ } catch ( ConnectException e ) {
+ lastFailure = e.getClass().getName() + " : " + e.getMessage();
+ }
+
+ Thread.sleep(WAIT_BETWEEN_TRIES_MILLIS);
+ }
+
+ throw new RuntimeException(String.format("Launchpad not ready. Failed check for URL %s with message '%s'",
+ check.getUrl(), lastFailure));
+ }
+
+ static class Check {
+ private String url;
+
+ public Check(String url) {
+ this.url = url;
+ }
+
+ public String getUrl() {
+ return url;
+ }
+
+ /**
+ * @param response the HttpResponse
+ * @return null if check check was successful, an error description otherwise
+ * @throws Exception
+ */
+ public String runCheck(HttpResponse response) throws Exception {
+ return null;
+ }
+ }
+
+}
diff --git a/feature/src/test/java/org/apache/sling/launchpad/SmokeIT.java b/feature/src/test/java/org/apache/sling/launchpad/SmokeIT.java
new file mode 100644
index 0000000..71676dc
--- /dev/null
+++ b/feature/src/test/java/org/apache/sling/launchpad/SmokeIT.java
@@ -0,0 +1,195 @@
+/*
+ * 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.
+ */
+package org.apache.sling.launchpad;
+
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.notNullValue;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.fail;
+
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.apache.felix.utils.json.JSONParser;
+import org.apache.http.Header;
+import org.apache.http.HttpHost;
+import org.apache.http.auth.AuthScope;
+import org.apache.http.auth.UsernamePasswordCredentials;
+import org.apache.http.client.CredentialsProvider;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.protocol.HttpClientContext;
+import org.apache.http.impl.auth.BasicScheme;
+import org.apache.http.impl.client.BasicAuthCache;
+import org.apache.http.impl.client.BasicCredentialsProvider;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.hamcrest.CoreMatchers;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+
+public class SmokeIT {
+
+ private static final int LAUNCHPAD_PORT = Integer.getInteger("launchpad.http.port", 8080);
+ private static final int EXPECTED_BUNDLES_COUNT = Integer.getInteger("IT.expected.bundles.count", Integer.MAX_VALUE);
+
+ @ClassRule
+ public static LaunchpadReadyRule LAUNCHPAD = new LaunchpadReadyRule(LAUNCHPAD_PORT);
+ private HttpClientContext httpClientContext;
+
+ @Before
+ public void prepareHttpContext() {
+
+ CredentialsProvider credsProvider = new BasicCredentialsProvider();
+ UsernamePasswordCredentials creds = new UsernamePasswordCredentials("admin", "admin");
+ credsProvider.setCredentials(new AuthScope("localhost", LAUNCHPAD_PORT), creds);
+
+ BasicAuthCache authCache = new BasicAuthCache();
+ BasicScheme basicAuth = new BasicScheme();
+ authCache.put(new HttpHost("localhost", LAUNCHPAD_PORT, "http"), basicAuth);
+
+ httpClientContext = HttpClientContext.create();
+ httpClientContext.setCredentialsProvider(credsProvider);
+ httpClientContext.setAuthCache(authCache);
+ }
+
+ private CloseableHttpClient newClient() {
+
+ return HttpClientBuilder.create()
+ .setDefaultCredentialsProvider(httpClientContext.getCredentialsProvider())
+ .build();
+ }
+
+ @Test
+ public void verifyAllBundlesStarted() throws Exception {
+
+ try ( CloseableHttpClient client = newClient() ) {
+
+ HttpGet get = new HttpGet("http://localhost:" + LAUNCHPAD_PORT + "/system/console/bundles.json");
+
+ // pass the context to ensure preemptive basic auth is used
+ // https://hc.apache.org/httpcomponents-client-ga/tutorial/html/authentication.html
+ try ( CloseableHttpResponse response = client.execute(get, httpClientContext) ) {
+
+ if ( response.getStatusLine().getStatusCode() != 200 ) {
+ fail("Unexpected status line " + response.getStatusLine());
+ }
+
+ Header contentType = response.getFirstHeader("Content-Type");
+ assertThat("Content-Type header", contentType.getValue(), CoreMatchers.startsWith("application/json"));
+
+ Map<String, Object> obj = new JSONParser(response.getEntity().getContent()).getParsed();
+
+ @SuppressWarnings("unchecked")
+ List<Object> status = (List<Object>) obj.get("s");
+
+ @SuppressWarnings("unchecked")
+ List<Object> bundles = (List<Object>) obj.get("data");
+ if(bundles.size() < EXPECTED_BUNDLES_COUNT) {
+ fail("Expected at least " + EXPECTED_BUNDLES_COUNT + " bundles, got " + bundles.size());
+ }
+
+ BundleStatus bs = new BundleStatus(status);
+
+ if ( bs.resolvedBundles != 0 || bs.installedBundles != 0 ) {
+
+ StringBuilder out = new StringBuilder();
+ out.append("Expected all bundles to be active, but instead got ")
+ .append(bs.resolvedBundles).append(" resolved bundles, ")
+ .append(bs.installedBundles).append(" installed bundlles: ");
+
+ for ( int i = 0 ; i < bundles.size(); i++ ) {
+ @SuppressWarnings("unchecked")
+ Map<String, Object> bundle = (Map<String, Object>) bundles.get(i);
+
+ String bundleState = (String) bundle.get("state");
+ String bundleSymbolicName = (String) bundle.get("symbolicName");
+ String bundleVersion = (String) bundle.get("version");
+
+ switch ( bundleState ) {
+ case "Active":
+ case "Fragment":
+ continue;
+
+ default:
+ out.append("\n- ").append(bundleSymbolicName).append(" ").append(bundleVersion).append(" is in state " ).append(bundleState);
+ }
+ }
+
+ fail(out.toString());
+ }
+ }
+ }
+ }
+
+ @Test
+ public void ensureRepositoryIsStarted() throws Exception {
+ try ( CloseableHttpClient client = newClient() ) {
+
+ HttpGet get = new HttpGet("http://localhost:" + LAUNCHPAD_PORT + "/server/default/jcr:root/content");
+
+ try ( CloseableHttpResponse response = client.execute(get) ) {
+
+ if ( response.getStatusLine().getStatusCode() != 200 ) {
+ fail("Unexpected status line " + response.getStatusLine());
+ }
+
+ Header contentType = response.getFirstHeader("Content-Type");
+ assertThat("Content-Type header", contentType.getValue(), equalTo("text/xml"));
+
+ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+ dbf.setNamespaceAware(true);
+ DocumentBuilder db = dbf.newDocumentBuilder();
+ Document document = db.parse(response.getEntity().getContent());
+
+ Element docElement = document.getDocumentElement();
+ NamedNodeMap attrs = docElement.getAttributes();
+
+ Node nameAttr = attrs.getNamedItemNS("http://www.jcp.org/jcr/sv/1.0", "name");
+ assertThat("no 'name' attribute found", nameAttr, notNullValue());
+ assertThat("Invalid name attribute value", nameAttr.getNodeValue(), equalTo("content"));
+ }
+ }
+ }
+
+ static class BundleStatus {
+
+ long totalBundles;
+ long activeBundles;
+ long activeFragments;
+ long resolvedBundles;
+ long installedBundles;
+
+ public BundleStatus(List<Object> array) {
+
+ totalBundles = (Long)array.get(0);
+ activeBundles = (Long)array.get(1);
+ activeFragments = (Long)array.get(2);
+ resolvedBundles = (Long)array.get(3);
+ installedBundles = (Long)array.get(4);
+
+ }
+ }
+}
diff --git a/feature/src/test/java/org/apache/sling/launchpad/package-info.java b/feature/src/test/java/org/apache/sling/launchpad/package-info.java
new file mode 100644
index 0000000..f70e5e8
--- /dev/null
+++ b/feature/src/test/java/org/apache/sling/launchpad/package-info.java
@@ -0,0 +1,30 @@
+/*
+ * 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.
+ */
+/**
+ * <h1>Smoke tests for the Sling Launchpad</h1>
+ *
+ * <p>This package contains a minimal set of tests for the Sling launchpad. The
+ * tests validate that the launchpad is correctly assembled and that there are
+ * no obvious mistakes such as bundles that can't be wired. More extensive
+ * tests must be placed in specific test projects.</p>
+ *
+ * <p>The launchpad tests don't depend on other Sling bundles,to prevent circular
+ * dependencies. As such, there is some duplication of code ( at least intent, if
+ * not implementation ) with some of the testing projects. This is another
+ * argument for keeping the tests minimal.</p>
+ */
+package org.apache.sling.launchpad;
\ No newline at end of file
[sling-org-apache-sling-app-cms] 11/18: Almost all bundle order
issues resolved
Posted by dk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
dklco pushed a commit to branch SLING-8913-multiple-instance-types
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git
commit 923a85983cd6447925c122f27ed2aa2970e43045
Author: Dan Klco <dk...@apache.org>
AuthorDate: Fri Jul 24 16:20:11 2020 -0400
Almost all bundle order issues resolved
---
feature/src/main/features/oak_oak.json | 2 +-
feature/src/main/features/sling_sling.json | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/feature/src/main/features/oak_oak.json b/feature/src/main/features/oak_oak.json
index 37aa1d7..6bc504b 100644
--- a/feature/src/main/features/oak_oak.json
+++ b/feature/src/main/features/oak_oak.json
@@ -64,7 +64,7 @@
},
{
"id":"org.apache.sling:org.apache.sling.jcr.oak.server:1.2.4",
- "start-order":"16"
+ "start-order":"20"
},
{
"id":"org.apache.jackrabbit:oak-segment-tar:${oak.version}",
diff --git a/feature/src/main/features/sling_sling.json b/feature/src/main/features/sling_sling.json
index dd0fe86..844fa5b 100644
--- a/feature/src/main/features/sling_sling.json
+++ b/feature/src/main/features/sling_sling.json
@@ -300,7 +300,7 @@
},
{
"id":"org.apache.sling:org.apache.sling.jcr.base:3.1.0",
- "start-order":"15"
+ "start-order":"20"
},
{
"id":"org.apache.sling:org.apache.sling.jcr.davex:1.3.10",
@@ -308,11 +308,11 @@
},
{
"id":"org.apache.sling:org.apache.sling.jcr.jackrabbit.accessmanager:3.0.4",
- "start-order":"15"
+ "start-order":"20"
},
{
"id":"org.apache.sling:org.apache.sling.jcr.jackrabbit.usermanager:2.2.8",
- "start-order":"15"
+ "start-order":"20"
},
{
"id":"org.apache.sling:org.apache.sling.jcr.jcr-wrapper:2.0.0",
[sling-org-apache-sling-app-cms] 02/18: Adding a POM to convert PM
to FM
Posted by dk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
dklco pushed a commit to branch SLING-8913-multiple-instance-types
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git
commit 1795c271e65ab656f41a6ee5a0367e20defc5ea3
Author: Dan Klco <dk...@apache.org>
AuthorDate: Fri Jul 24 11:33:10 2020 -0400
Adding a POM to convert PM to FM
---
converter/pom.xml | 175 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 175 insertions(+)
diff --git a/converter/pom.xml b/converter/pom.xml
new file mode 100644
index 0000000..8718504
--- /dev/null
+++ b/converter/pom.xml
@@ -0,0 +1,175 @@
+<?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>
+ <artifactId>org.apache.sling.cms</artifactId>
+ <groupId>org.apache.sling</groupId>
+ <version>0.16.3-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>org.apache.sling.cms.fmconverter</artifactId>
+ <name>Apache Sling - CMS Feature Model Converter</name>
+ <description>Complete Sling 12 Feature Model</description>
+ <packaging>slingosgifeature</packaging>
+
+ <properties>
+ <slingfeature-maven-plugin.version>1.3.4</slingfeature-maven-plugin.version>
+ <sling-feature-converter-maven-plugin.version>1.0.4</sling-feature-converter-maven-plugin.version>
+ </properties>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>sling-feature-converter-maven-plugin</artifactId>
+ <version>${sling-feature-converter-maven-plugin.version}</version>
+ <extensions>true</extensions>
+ <executions>
+ <execution>
+ <id>convert-pm</id>
+ <phase>process-classes</phase>
+ <goals>
+ <goal>convert-pm</goal>
+ </goals>
+ <configuration>
+ <inputFolder>${basedir}/../builder/src/main/provisioning</inputFolder>
+ <outputFolder>target/fm</outputFolder>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>org.apache.sling.cms.fmconverter</artifactId>
+ <version>${project.version}</version>
+ <frameworkProperties>
+ launchpad:felix.systempackages.substitution=true,
+ launchpad:felix.systempackages.calculate.uses=true
+ </frameworkProperties>
+ <excludeBundles>
+ org.apache.sling.launchpad.installer,
+ org.apache.sling.jcr.repoinit.impl.RepositoryInitializer
+ </excludeBundles>
+ <runModes>
+ oak_tar,
+ :standalone
+ </runModes>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>slingfeature-maven-plugin</artifactId>
+ <version>${slingfeature-maven-plugin.version}</version>
+ <extensions>true</extensions>
+ <configuration>
+ <features>target/fm</features>
+ <generatedFeatures>${basedir}/target/fm</generatedFeatures>
+ </configuration>
+ <executions>
+ <execution>
+ <id>aggregate-base-sling-feature</id>
+ <phase>package</phase>
+ <goals>
+ <goal>aggregate-features</goal>
+ </goals>
+ <configuration>
+ <aggregates>
+ <aggregate>
+ <classifier>slingcms</classifier>
+ <filesInclude>**/*.json</filesInclude>
+ <title>Sling App CMS Feature Model</title>
+ </aggregate>
+ </aggregates>
+ </configuration>
+ </execution>
+ <execution>
+ <id>install-feature</id>
+ <phase>package</phase>
+ <goals>
+ <goal>attach-features</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>create-sling-feature-archives</id>
+ <phase>package</phase>
+ <goals>
+ <goal>attach-featurearchives</goal>
+ </goals>
+ <configuration>
+ <archives>
+ <archive>
+ <classifier>slingcmsfar</classifier>
+ <includeClassifier>slingcms</includeClassifier>
+ </archive>
+ </archives>
+ </configuration>
+ </execution>
+ <execution>
+ <id>diff</id>
+ <goals>
+ <goal>features-diff</goal>
+ </goals>
+ <configuration>
+ <selection>
+ <includeClassifier>oak_tar</includeClassifier>
+ <includeClassifier>slingcms</includeClassifier>
+ </selection>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.rat</groupId>
+ <artifactId>apache-rat-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>Readme.md</exclude>
+ <exclude>src/main/resources/META-INF/services/**</exclude>
+ <exclude>**/*.properties</exclude>
+ <exclude>conf/**</exclude>
+ <exclude>launcher/**</exclude>
+ <exclude>bin/**.sh</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <version>3.0.0-M1</version>
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>ianal-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>verify-legal-files</id>
+ <goals>
+ <goal>verify-legal-files</goal>
+ </goals>
+ <configuration>
+ <!-- Fail the build if any artifacts are missing legal files -->
+ <strict>false</strict>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
[sling-org-apache-sling-app-cms] 18/18: Merge branch
'SLING-8913-multiple-instance-types' of
github.com:apache/sling-org-apache-sling-app-cms into
SLING-8913-multiple-instance-types
Posted by dk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
dklco pushed a commit to branch SLING-8913-multiple-instance-types
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git
commit 1f38d3ec9d5627a35742076c06a38e2cd56a2535
Merge: c36b456 c49bc51
Author: Dan Klco <dk...@apache.org>
AuthorDate: Thu Jul 30 14:17:52 2020 -0400
Merge branch 'SLING-8913-multiple-instance-types' of github.com:apache/sling-org-apache-sling-app-cms into SLING-8913-multiple-instance-types
[sling-org-apache-sling-app-cms] 17/18: Building the Composite
NodeStore on build of the docker image
Posted by dk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
dklco pushed a commit to branch SLING-8913-multiple-instance-types
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git
commit c36b456c0edd7404793e3a59a5221e45163abf7c
Author: Dan Klco <dk...@apache.org>
AuthorDate: Thu Jul 30 14:07:39 2020 -0400
Building the Composite NodeStore on build of the docker image
---
docker/README.md | 12 +++++-
docker/cms/Dockerfile | 25 +++++++++---
docker/cms/download-dependencies.sh | 34 ++++++++++++++++
docker/cms/settings.xml | 35 ++++++++++++++++
docker/cms/setup-composite.sh | 47 ++++++++++++++++++++++
docker/docker-compose.yml | 16 +++-----
docker/webcache/Dockerfile | 10 ++---
feature/pom.xml | 16 ++++++--
.../node-store-composite/composite-runtime.json | 8 ++++
.../node-store-composite/composite-seed.json | 18 ++++++++-
.../main/features/node-store-segment/segment.json | 12 +++++-
feature/src/main/features/sling_sling.json | 8 ----
12 files changed, 200 insertions(+), 41 deletions(-)
diff --git a/docker/README.md b/docker/README.md
index 538d23e..6d309cc 100644
--- a/docker/README.md
+++ b/docker/README.md
@@ -2,7 +2,7 @@
This is a sample Docker Compose configuration for using Apache Sling CMS in a containerized environment.
-It will start a container with the Apache Sling CMS backed by MongoDB and a webcache container pre-configured to proxy and cache two URLs.
+It will start a container with the Apache Sling CMS backed by a shared volume and a webcache container pre-configured to proxy and cache two URLs.
## Dependencies
@@ -17,6 +17,16 @@ To build, run the command:
`docker-compose build`
+If you are using snapshots, to force a rebuild, run:
+
+`docker-compose build --no-cache --force-rm`
+
+## Volume
+
+This Docker Compose setup creates a volume _docker_sling-repository_ for the Apache Sling CMS repository. To destroy this volume call:
+
+`docker rm docker_sling-repository`
+
## Use
To use the containers, run the command:
diff --git a/docker/cms/Dockerfile b/docker/cms/Dockerfile
index 52692a4..2c56193 100644
--- a/docker/cms/Dockerfile
+++ b/docker/cms/Dockerfile
@@ -13,18 +13,31 @@
# Pull base image.
FROM adoptopenjdk:11-jre-openj9
-MAINTAINER dev@sling.apache.org
+
+ARG FM_GROUP_ID=org.apache.sling
+ARG FM_ARTIFACT_ID=org.apache.sling.cms.feature
+ARG FM_VERSION=0.16.3-SNAPSHOT
+ARG FM_SEED_CLASSIFIER=slingcms-composite-seed
+ARG FM_RUNTIME_CLASSIFIER=slingcms-composite-seed
+ENV FM_ARTIFACT_ID=${FM_ARTIFACT_ID}
+ENV FM_RUNTIME_CLASSIFIER=${FM_RUNTIME_CLASSIFIER}
# Configure directories
-WORKDIR /opt/sling
-VOLUME /opt/sling/sling
+WORKDIR /opt/slingcms
+
+# Install Apache Maven
+RUN apt-get update && apt-get install maven -y
+COPY /settings.xml /root/.m2/
# Setup Sling CMS
-RUN mkdir -p /opt/sling
-RUN curl -L https://search.maven.org/remotecontent?filepath=org/apache/sling/org.apache.sling.cms.builder/0.16.2/org.apache.sling.cms.builder-0.16.2.jar --output org.apache.sling.cms.jar
+COPY download-dependencies.sh /opt/slingcms/setup/
+RUN /bin/bash /opt/slingcms/setup/download-dependencies.sh
+COPY setup-composite.sh /opt/slingcms/setup/
+RUN /bin/bash /opt/slingcms/setup/setup-composite.sh
# Expose endpoints
EXPOSE 8080
# Start Sling CMS
-CMD exec java -Dsling.run.modes=oak_mongo -Doak.mongo.uri=mongodb://mongo:27017 -Doak.mongo.db=sling -jar org.apache.sling.cms.jar
+CMD exec java -jar org.apache.sling.feature.launcher.jar \
+ -f ${FM_ARTIFACT_ID}-${FM_RUNTIME_CLASSIFIER}.slingosgifeature
diff --git a/docker/cms/download-dependencies.sh b/docker/cms/download-dependencies.sh
new file mode 100644
index 0000000..9705148
--- /dev/null
+++ b/docker/cms/download-dependencies.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+#
+# 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.
+#
+
+mkdir -p /opt/slingcms
+cd /opt/slingcms
+
+echo "Downloading Feature Launcher..."
+mvn -q org.apache.maven.plugins:maven-dependency-plugin:copy \
+ -Dartifact=org.apache.sling:org.apache.sling.feature.launcher:1.1.4:jar \
+ -DoutputDirectory=/opt/slingcms \
+ -Dmdep.stripVersion=true \
+ || { echo 'Failed to download Feature Launcher' ; exit 1; }
+
+echo "Downloading Feature Models..."
+mvn -q org.apache.maven.plugins:maven-dependency-plugin:copy \
+ -Dartifact=${FM_GROUP_ID}:${FM_ARTIFACT_ID}:${FM_VERSION}:slingosgifeature:${FM_SEED_CLASSIFIER} \
+ -DoutputDirectory=/opt/slingcms/setup \
+ -Dmdep.stripVersion=true \
+ || { echo 'Failed to download composite seed' ; exit 1; }
+mvn -q org.apache.maven.plugins:maven-dependency-plugin:copy \
+ -Dartifact=${FM_GROUP_ID}:${FM_ARTIFACT_ID}:${FM_VERSION}:slingosgifeature:${FM_RUNTIME_CLASSIFIER} \
+ -DoutputDirectory=/opt/slingcms \
+ -Dmdep.stripVersion=true \
+ || { echo 'Failed to download composite runtime' ; exit 1; }
\ No newline at end of file
diff --git a/docker/cms/settings.xml b/docker/cms/settings.xml
new file mode 100644
index 0000000..9abe7da
--- /dev/null
+++ b/docker/cms/settings.xml
@@ -0,0 +1,35 @@
+<!--
+ 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.
+-->
+<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
+ https://maven.apache.org/xsd/settings-1.0.0.xsd">
+ <profiles>
+ <profile>
+ <id>apache-snapshots</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ <repositories>
+ <repository>
+ <id>apache.snapshots</id>
+ <name>Apache Development Snapshot Repository</name>
+ <url>https://repository.apache.org/content/repositories/snapshots/</url>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </repository>
+ </repositories>
+ </profile>
+ </profiles>
+</settings>
\ No newline at end of file
diff --git a/docker/cms/setup-composite.sh b/docker/cms/setup-composite.sh
new file mode 100644
index 0000000..0756d92
--- /dev/null
+++ b/docker/cms/setup-composite.sh
@@ -0,0 +1,47 @@
+#!/bin/bash
+#
+# 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.
+#
+
+SLING_USERNAME="${SLING_USERNAME:-admin}"
+SLING_PASSWORD="${SLING_PASSWORD:-admin}"
+
+echo "Creating composite seed..."
+java -jar org.apache.sling.feature.launcher.jar \
+ -f /opt/slingcms/setup/${FM_ARTIFACT_ID}-${FM_SEED_CLASSIFIER}.slingosgifeature &
+SLING_PID=$!
+echo "Sling PID: ${SLING_PID}"
+
+sleep 10s
+STARTED=1
+for i in {1..10}; do
+ echo "Checking to see if started with username: ${SLING_USERNAME}..."
+ STATUS=$(curl -4 -s -o /dev/null -w "%{http_code}" -u${SLING_USERNAME}:${SLING_PASSWORD} "http://localhost:8080/system/health.txt?tags=systemalive")
+ echo "Retrieved status: ${STATUS}"
+ if [ $STATUS -eq 200 ]; then
+ STARTED=0
+ break
+ fi
+ sleep 30s
+done
+
+if [ $STARTED -eq 1 ]; then
+ echo "Failed to seed sling repository!"
+ exit 2
+else
+ echo "Cleaning up seeding..."
+ rm -rf /opt/slingcms/launcher
+ cd sling/composite/repository-libs
+ ln -s segmentstore segmentstore-composite-mount-libs
+ cd ../../..
+ rm -rf /opt/slingcms/setup
+fi
+echo "Repository seeded successfully!"
\ No newline at end of file
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
index 01ec3ad..27856bb 100644
--- a/docker/docker-compose.yml
+++ b/docker/docker-compose.yml
@@ -9,23 +9,17 @@
# either express or implied. See the License for the specific language governing permissions
# and limitations under the License.
#
-version: '3'
+version: '3.4'
services:
cms:
build: cms
- expose:
- - "8080"
- depends_on:
- - mongo
- mongo:
- image: mongo
- expose:
- - "27017"
+ ports:
+ - "8080:8080"
volumes:
- - data-volume:/data/db
+ - sling-repository:/opt/slingcms/sling/composite/repository-global
webcache:
build: webcache
ports:
- "80:80"
volumes:
- data-volume:
+ sling-repository:
diff --git a/docker/webcache/Dockerfile b/docker/webcache/Dockerfile
index e9f2cdb..3e2c37d 100644
--- a/docker/webcache/Dockerfile
+++ b/docker/webcache/Dockerfile
@@ -13,14 +13,12 @@
# Pull base image.
FROM ubuntu:latest
-MAINTAINER dev@sling.apache.org
# Avoid interaction with tzdata
ARG DEBIAN_FRONTEND=noninteractive
# Install Apache
-RUN apt-get update
-RUN apt-get install apache2 -y
+RUN apt-get update && apt-get install apache2 -y
# Configure mod_rewrite
RUN a2enmod rewrite
@@ -36,10 +34,8 @@ RUN a2enmod expires
RUN a2enmod headers
# Configure sites
-RUN mkdir -p /var/www/vhosts/sling-cms
-RUN mkdir -p /var/www/vhosts/sling
-COPY cms.conf /etc/apache2/sites-enabled
-COPY site.conf /etc/apache2/sites-enabled
+RUN mkdir -p /var/www/vhosts/sling-cms && mkdir -p /var/www/vhosts/sling
+COPY *.conf /etc/apache2/sites-enabled/
# Expose endpoints
EXPOSE 80
diff --git a/feature/pom.xml b/feature/pom.xml
index 59af970..5f71fc2 100644
--- a/feature/pom.xml
+++ b/feature/pom.xml
@@ -76,25 +76,33 @@
<aggregate>
<classifier>slingcms-segment</classifier>
<filesInclude>**/*.json</filesInclude>
- <filesExclude>node-store-composite/*.json</filesExclude>
+ <filesExclude>node-store-composite/composite-*.json</filesExclude>
<title>Sling CMS -</title>
</aggregate>
<aggregate>
<classifier>slingcms-composite-seed</classifier>
<filesInclude>**/*.json</filesInclude>
- <filesExclude>node-store-composite/composite-runtime.json,node-store-segment/*.json</filesExclude>
+ <filesExclude>node-store-composite/composite-runtime.json</filesExclude>
+ <filesExclude>node-store-segment/segment.json</filesExclude>
<title>Sling CMS - Composite Node Store Seed</title>
</aggregate>
<aggregate>
<classifier>slingcms-composite-runtime</classifier>
<filesInclude>**/*.json</filesInclude>
- <filesExclude>node-store-composite/composite-seed.json,node-store-segment/*.json</filesExclude>
+ <filesExclude>node-store-composite/composite-seed.json</filesExclude>
+ <filesExclude>node-store-segment/segment.json</filesExclude>
<title>Sling CMS - Composite Node Store Runtime</title>
</aggregate>
</aggregates>
<scans>
<scan>
- <includeClassifier>slingcms-segment,slingcms-composite-seed,slingcms-composite-runtime</includeClassifier>
+ <includeClassifier>slingcms-composite-runtime</includeClassifier>
+ </scan>
+ <scan>
+ <includeClassifier>slingcms-composite-seed</includeClassifier>
+ </scan>
+ <scan>
+ <includeClassifier>slingcms-segment</includeClassifier>
</scan>
</scans>
<archives>
diff --git a/feature/src/main/features/node-store-composite/composite-runtime.json b/feature/src/main/features/node-store-composite/composite-runtime.json
index b30683e..5f11296 100644
--- a/feature/src/main/features/node-store-composite/composite-runtime.json
+++ b/feature/src/main/features/node-store-composite/composite-runtime.json
@@ -49,6 +49,14 @@
"registerDescriptors": true,
"dispatchChanges": true,
"repository.home": "sling/composite/repository-global"
+ },
+ "org.apache.sling.commons.log.LogManager": {
+ "org.apache.sling.commons.log.packagingDataEnabled": true,
+ "org.apache.sling.commons.log.pattern": "%d{dd.MM.yyyy HH:mm:ss.SSS} *%level* [%thread] %logger %msg%n",
+ "org.apache.sling.commons.log.level": "info",
+ "org.apache.sling.commons.log.file": "",
+ "org.apache.sling.commons.log.file.number:Integer": "-1",
+ "org.apache.sling.commons.log.file.size": ""
}
}
}
\ No newline at end of file
diff --git a/feature/src/main/features/node-store-composite/composite-seed.json b/feature/src/main/features/node-store-composite/composite-seed.json
index 914d66f..ad29a0f 100644
--- a/feature/src/main/features/node-store-composite/composite-seed.json
+++ b/feature/src/main/features/node-store-composite/composite-seed.json
@@ -1,6 +1,9 @@
{
"id": "org.apache.sling:org.apache.sling.cms.feature:slingfeature:composite-seed:${cms.version}",
"configurations": {
+ "org.apache.felix.hc.core.impl.servlet.HealthCheckExecutorServlet~default": {
+ "servletPath": "/system/health"
+ },
"org.apache.jackrabbit.oak.segment.SegmentNodeStoreService": {
"name": "Default NodeStore",
"standby": true
@@ -15,11 +18,22 @@
"org.apache.jackrabbit.oak.composite.MountInfoProviderService": {
"mountName": "libs",
"readOnlyMount": false,
- "pathsSupportingFragments": [],
+ "pathsSupportingFragments": [
+ "/oak:index/*$"
+ ],
"mountedPaths": [
"/libs",
- "/apps"
+ "/apps",
+ "/jcr:system/rep:permissionStore/oak:mount-libs-default"
]
+ },
+ "org.apache.sling.commons.log.LogManager": {
+ "org.apache.sling.commons.log.packagingDataEnabled": true,
+ "org.apache.sling.commons.log.pattern": "%d{dd.MM.yyyy HH:mm:ss.SSS} *%level* [%thread] %logger %msg%n",
+ "org.apache.sling.commons.log.level": "info",
+ "org.apache.sling.commons.log.file": "",
+ "org.apache.sling.commons.log.file.number:Integer": "-1",
+ "org.apache.sling.commons.log.file.size": ""
}
}
}
\ No newline at end of file
diff --git a/feature/src/main/features/node-store-segment/segment.json b/feature/src/main/features/node-store-segment/segment.json
index abcc4d4..5d16577 100644
--- a/feature/src/main/features/node-store-segment/segment.json
+++ b/feature/src/main/features/node-store-segment/segment.json
@@ -1,8 +1,16 @@
{
"id": "org.apache.sling:org.apache.sling.cms.feature:slingfeature:segment:${cms.version}",
"configurations": {
- "org.apache.jackrabbit.oak.segment.SegmentNodeStoreService":{
- "name":"Default NodeStore"
+ "org.apache.jackrabbit.oak.segment.SegmentNodeStoreService": {
+ "name": "Default NodeStore"
+ },
+ "org.apache.sling.commons.log.LogManager": {
+ "org.apache.sling.commons.log.packagingDataEnabled": true,
+ "org.apache.sling.commons.log.pattern": "%d{dd.MM.yyyy HH:mm:ss.SSS} *%level* [%thread] %logger %msg%n",
+ "org.apache.sling.commons.log.level": "info",
+ "org.apache.sling.commons.log.file": "logs/error.log",
+ "org.apache.sling.commons.log.file.number:Integer": "7",
+ "org.apache.sling.commons.log.file.size": "'.'yyyy-MM-dd"
}
}
}
\ No newline at end of file
diff --git a/feature/src/main/features/sling_sling.json b/feature/src/main/features/sling_sling.json
index 9c2a3d8..2d2f1e3 100644
--- a/feature/src/main/features/sling_sling.json
+++ b/feature/src/main/features/sling_sling.json
@@ -336,14 +336,6 @@
}
],
"configurations":{
- "org.apache.sling.commons.log.LogManager":{
- "org.apache.sling.commons.log.packagingDataEnabled":true,
- "org.apache.sling.commons.log.pattern":"%d{dd.MM.yyyy HH:mm:ss.SSS} *%level* [%thread] %logger %msg%n",
- "org.apache.sling.commons.log.level":"info",
- "org.apache.sling.commons.log.file":"logs/error.log",
- "org.apache.sling.commons.log.file.number:Integer":"7",
- "org.apache.sling.commons.log.file.size":"'.'yyyy-MM-dd"
- },
"org.apache.sling.engine.impl.log.RequestLogger":{
"access.log.enabled":true,
"request.log.outputtype:Integer":"0",
[sling-org-apache-sling-app-cms] 15/18: Simplify the conversion POM
Posted by dk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
dklco pushed a commit to branch SLING-8913-multiple-instance-types
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git
commit 9eee38b3a6b55a7f32c4ae1555b65064227a8246
Author: Dan Klco <dk...@apache.org>
AuthorDate: Sat Jul 25 23:21:07 2020 -0400
Simplify the conversion POM
---
converter/pom.xml | 34 ----------------------------------
1 file changed, 34 deletions(-)
diff --git a/converter/pom.xml b/converter/pom.xml
index 8718504..46865b5 100644
--- a/converter/pom.xml
+++ b/converter/pom.xml
@@ -96,40 +96,6 @@ under the License.
</aggregates>
</configuration>
</execution>
- <execution>
- <id>install-feature</id>
- <phase>package</phase>
- <goals>
- <goal>attach-features</goal>
- </goals>
- </execution>
- <execution>
- <id>create-sling-feature-archives</id>
- <phase>package</phase>
- <goals>
- <goal>attach-featurearchives</goal>
- </goals>
- <configuration>
- <archives>
- <archive>
- <classifier>slingcmsfar</classifier>
- <includeClassifier>slingcms</includeClassifier>
- </archive>
- </archives>
- </configuration>
- </execution>
- <execution>
- <id>diff</id>
- <goals>
- <goal>features-diff</goal>
- </goals>
- <configuration>
- <selection>
- <includeClassifier>oak_tar</includeClassifier>
- <includeClassifier>slingcms</includeClassifier>
- </selection>
- </configuration>
- </execution>
</executions>
</plugin>
<plugin>
[sling-org-apache-sling-app-cms] 04/18: Ignoring the launcher
directory
Posted by dk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
dklco pushed a commit to branch SLING-8913-multiple-instance-types
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git
commit b172f738d0ea7b2fcd703381ac50ac36f5a8d47e
Author: Dan Klco <dk...@apache.org>
AuthorDate: Fri Jul 24 14:36:38 2020 -0400
Ignoring the launcher directory
---
feature/.gitignore | 1 +
1 file changed, 1 insertion(+)
diff --git a/feature/.gitignore b/feature/.gitignore
new file mode 100644
index 0000000..d7adf42
--- /dev/null
+++ b/feature/.gitignore
@@ -0,0 +1 @@
+launcher/
\ No newline at end of file