#
#  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=composum-console]
[variables]
    composum.version=1.8.2

[artifacts startLevel=20]

  com.composum.sling.core/composum-sling-core-commons/${composum.version}
  com.composum.sling.core/composum-sling-core-config/${composum.version}
  com.composum.sling.core/composum-sling-core-console/${composum.version}
  com.composum.sling.core/composum-sling-core-jslibs/${composum.version}
  com.composum.sling.core/composum-sling-user-management/${composum.version}
  com.composum.sling.core/composum-sling-package-manager/${composum.version}
  org.apache.jackrabbit.vault/org.apache.jackrabbit.vault/3.1.30
