blob: 9a525e3bd829646e70b7a742350d0e97a06f77db [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
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.
-->
<?eclipse version="3.0"?>
<plugin>
<!-- Define the sling module type -->
<extension point="org.eclipse.wst.server.core.moduleTypes">
<moduleType
id="sling.content"
name="Content module"/>
</extension>
<extension point="org.eclipse.wst.server.core.moduleTypes">
<moduleType
id="sling.bundle"
name="Bundle module"/>
</extension>
<!-- Define a sling module factory -->
<extension point="org.eclipse.wst.server.core.moduleFactories">
<moduleFactory
projects="true"
class="org.apache.sling.ide.eclipse.core.internal.SlingContentModuleFactory"
id="org.apache.sling.ide.contentModuleFactory">
<moduleType
versions="1.0"
types="sling.content"/>
</moduleFactory>
</extension>
<extension
point="org.eclipse.wst.server.core.moduleFactories">
<moduleFactory
projects="true"
class="org.apache.sling.ide.eclipse.core.internal.SlingBundleModuleFactory"
id="org.apache.sling.ide.bundleModuleFactory">
<moduleType
versions="1.0"
types="sling.bundle"/>
</moduleFactory>
</extension>
<!-- Define the sling facet we support -->
<extension point="org.eclipse.wst.common.project.facet.core.facets">
<project-facet id="sling.content">
<label>Content module</label>
<description>Content modules contain resources which are installed into the repository as they are. Good examples are static files ( HTML, CSS, JS ), scripts ( JSP, ESP ) and any other form of content.</description>
</project-facet>
<project-facet-version facet="sling.content" version="1.0"/>
<action facet="sling.content" version="1.0" type="INSTALL">
<delegate class="org.apache.sling.ide.eclipse.core.internal.SlingContentFacetInstallDelegate"/>
</action>
<action facet="sling.content" version="1.0" type="UNINSTALL">
<delegate class="org.apache.sling.ide.eclipse.core.internal.SlingContentFacetUninstallDelegate"/>
</action>
<project-facet id="sling.bundle">
<label>Bundle module</label>
<description>OSGi bundle modules contain java code which is installed as an OSGi bundle in Sling-compatbile runtime.</description>
</project-facet>
<project-facet-version facet="sling.bundle" version="1.0"/>
<action facet="sling.bundle" version="1.0" type="INSTALL">
<delegate class="org.apache.sling.ide.eclipse.core.internal.SlingBundleFacetInstallDelegate"/>
</action>
<action facet="sling.bundle" version="1.0" type="UNINSTALL">
<delegate class="org.apache.sling.ide.eclipse.core.internal.SlingBundleFacetUninstallDelegate"/>
</action>
</extension>
<!-- Define the Sling launchpad runtime type -->
<extension point="org.eclipse.wst.server.core.runtimeTypes">
<runtimeType
id="org.apache.sling.ide.launchpadRuntimeType"
name="Sling Runtime"
description="A Sling-compatible runtime which contains the Felix Web Console and a JCR WebDAV remoting entry point."
vendor="Sling"
version="1.0"
class="org.apache.sling.ide.eclipse.core.internal.SlingLaunchpadRuntime">
<moduleType types="sling.content" versions="1.0"/>
<moduleType types="sling.bundle" versions="1.0"/>
</runtimeType>
</extension>
<!-- Define the Sling launchpad server type -->
<extension point="org.eclipse.wst.server.core.serverTypes">
<serverType
id="org.apache.sling.ide.launchpadServer"
name="Sling Server (external)"
description="A Sling server whose lifecycle is controlled independently from Eclipse."
supportsRemoteHosts="true"
runtime="true"
startTimeout="30000"
stopTimeout="15000"
initialState="stopped"
hasConfiguration="true"
launchConfigId="org.apache.sling.ide.launchpadLaunchConfigurationType"
runtimeTypeId="org.apache.sling.ide.launchpadRuntimeType"
class="org.apache.sling.ide.eclipse.core.internal.SlingLaunchpadServer"
behaviourClass="org.apache.sling.ide.eclipse.core.internal.SlingLaunchpadBehaviour">
</serverType>
</extension>
<extension point="org.eclipse.wst.server.core.launchableAdapters">
<launchableAdapter
class="org.apache.sling.ide.eclipse.core.internal.SlingLaunchpadLaunchableAdapterDelegate"
id="org.apache.sling.ide.launchpadLaunchableAdapterDelegate"/>
</extension>
<!-- Define the launch configuration type for the launchpad TODO do we need a sourcePathComputer ? -->
<extension point="org.eclipse.debug.core.launchConfigurationTypes">
<launchConfigurationType
id="org.apache.sling.ide.launchpadLaunchConfigurationType"
name="Sling Launchpad"
delegate="org.apache.sling.ide.eclipse.core.internal.SlingLaunchpadLaunchConfigurationDelegate"
modes="run,debug"
sourceLocatorId="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"/>
</extension>
<!-- Declare that the launchpad runtime type, supporting content modules -->
<extension point="org.eclipse.wst.common.project.facet.core.runtimes">
<runtime-component-type id="org.apache.sling.ide.launchpadRuntimeComponentType"/>
<runtime-component-version type="org.apache.sling.ide.launchpadRuntimeComponentType" version="1.0"/>
<adapter>
<runtime-component
id="org.apache.sling.ide.launchpadRuntimeComponentType"/>
<factory
class="org.eclipse.jst.server.core.internal.RuntimeClasspathProvider$Factory"/>
<type
class="org.eclipse.jst.common.project.facet.core.IClasspathProvider"/>
</adapter>
<supported>
<runtime-component id="org.apache.sling.ide.launchpadRuntimeComponentType" version="1.0"/>
<facet id="sling.content" version="1.0"/>
</supported>
</extension>
<!-- Define default facets ( needed ? ) -->
<extension point="org.eclipse.wst.common.project.facet.core.defaultFacets">
<default-facets>
<runtime-component id="org.apache.sling.ide.launchpadRuntimeComponentType"/>
<facet id="sling.content" version="1.0"/>
</default-facets>
<default-facets>
<runtime-component id="org.apache.sling.ide.launchpadRuntimeComponentType"/>
<facet id="sling.bundle" version="1.0"/>
</default-facets>
</extension>
<!-- Map from the launchpad runtime type to our runtime components -->
<extension point="org.eclipse.jst.server.core.runtimeFacetMappings">
<runtimeFacetMapping
runtimeTypeId="org.apache.sling.ide.launchpadRuntimeType"
runtime-component="org.apache.sling.ide.launchpadRuntimeComponentType"
version="1.0"/>
</extension>
<extension
point="org.eclipse.ui.trace.traceComponents">
<component
id="org.eclipse.ui.trace.tracingPrefPage"
label="Sling IDE Tooling">
<bundle
name="org.apache.sling.ide.eclipse-core"></bundle>
</component>
</extension>
<extension
point="org.eclipse.core.expressions.propertyTesters">
<propertyTester
id="org.apache.sling.ide.eclipse.internal.ExportableResourceTester"
type="org.eclipse.core.resources.IResource"
namespace="org.apache.sling.ide.eclipse"
properties="canBeExported,canBeImported"
class="org.apache.sling.ide.eclipse.core.internal.ContentResourceTester">
</propertyTester>
</extension>
<extension
id="bundleValidator"
point="org.eclipse.wst.validation.validatorV2"
name="Sling Bundle Validator">
<validator class="org.apache.sling.ide.eclipse.internal.validation.BundleProjectValidator">
<include>
<rules>
<facet
id="sling.bundle">
</facet>
</rules>
</include>
</validator>
</extension>
<extension
id="contentProjectValidator"
point="org.eclipse.wst.validation.validatorV2"
name="Sling Content Project Validator">
<validator class="org.apache.sling.ide.eclipse.internal.validation.ContentProjectValidator">
<include>
<rules>
<facet
id="sling.content">
</facet>
</rules>
</include>
</validator>
</extension>
<!-- disable XML validation for content projects -->
<extension id="org.apache.sling.ide.excludeXmlValidator" point="org.eclipse.wst.validation.exclude">
<validator id="org.eclipse.wst.xml.core.xml">
<exclude>
<rules>
<facet id="sling.content"/>
</rules>
</exclude>
</validator>
</extension>
<!-- Store project preferences in the filesystem -->
<extension id="org.apache.sling.ide.preferences" point="org.eclipse.core.runtime.preferences">
<scope name="project" class="org.eclipse.core.internal.resources.ProjectPreferences">
</scope>
</extension>
</plugin>