| <?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> |